mirror of
https://github.com/bigchaindb/js-bigchaindb-driver.git
synced 2024-11-22 09:46:58 +01:00
example seed-func ready
This commit is contained in:
parent
10fab5323a
commit
01deae78cd
@ -1,2 +1,10 @@
|
|||||||
# Usage
|
# Usage
|
||||||
`npm install`
|
`npm install` -> Installs all required dependencies to run these examples.
|
||||||
|
|
||||||
|
## Different Examples
|
||||||
|
**Basic Usage**: Create asset and transfer it to new owner.
|
||||||
|
-> `npm start`
|
||||||
|
|
||||||
|
**Querying for Assets**: Query for assetdata or metadata.
|
||||||
|
-> `npm run query-assets`
|
||||||
|
|
||||||
|
@ -7,7 +7,9 @@
|
|||||||
"serve": "node dist/basic-usage.js",
|
"serve": "node dist/basic-usage.js",
|
||||||
"clean": "rimraf ./dist",
|
"clean": "rimraf ./dist",
|
||||||
"start": "nodemon src/basic-usage.js --exec babel-node",
|
"start": "nodemon src/basic-usage.js --exec babel-node",
|
||||||
"query-assets": "nodemon src/query-assets.js --exec babel-node"
|
"query-assets": "nodemon src/query-assets.js --exec babel-node",
|
||||||
|
"seed-func": "nodemon src/seed-func.js --exec babel-node",
|
||||||
|
"websocket": "nodemon src/websocket.js --exec babel-node"
|
||||||
},
|
},
|
||||||
"author": "BigchainDB",
|
"author": "BigchainDB",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
@ -27,6 +29,7 @@
|
|||||||
"repository": "/",
|
"repository": "/",
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bigchaindb-driver": "^3.2.0"
|
"bigchaindb-driver": "^3.2.0",
|
||||||
|
"bip39": "^2.5.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
34
examples/basic-usage-boilerplate/src/seed-func.js
Normal file
34
examples/basic-usage-boilerplate/src/seed-func.js
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
import bip39 from 'bip39'
|
||||||
|
|
||||||
|
const driver = require('bigchaindb-driver')
|
||||||
|
|
||||||
|
// ======== Create Keypair ======== //
|
||||||
|
/**
|
||||||
|
* Use a passphrase to derive a keypair
|
||||||
|
* If you use the same seed -> you will derive the same keypair
|
||||||
|
*
|
||||||
|
* mnemnoicToSeed() transforms the passphrase you gave as an input
|
||||||
|
* to a byteArray
|
||||||
|
*
|
||||||
|
* BigchainDB however only accepts an input length of 32 characters
|
||||||
|
* so we have to slice this to give it as input for driver.Ed25519Keypair()
|
||||||
|
*
|
||||||
|
* Is it safe to slice? Yes, a seed of length 32 is very safe according
|
||||||
|
* to related papers discussing this.
|
||||||
|
*/
|
||||||
|
const passphrase = 'This is a random passphrase'
|
||||||
|
const seed = bip39.mnemonicToSeed(passphrase).slice(0, 32)
|
||||||
|
|
||||||
|
const keypair = new driver.Ed25519Keypair(seed)
|
||||||
|
|
||||||
|
console.log(`Public Key: ${keypair.publicKey} - Private Key: ${keypair.privateKey}`) // eslint-disable-line no-console
|
||||||
|
|
||||||
|
// ======== Other Bip39 Functionality not related to BigchainDB ======== //
|
||||||
|
|
||||||
|
/* Create Random passphrase */
|
||||||
|
const mnemonic = bip39.generateMnemonic()
|
||||||
|
console.log('Random passphrase: ', mnemonic) // eslint-disable-line no-console
|
||||||
|
|
||||||
|
/* Validate mnemnoic */
|
||||||
|
console.log(bip39.validateMnemonic(mnemonic)) // eslint-disable-line no-console
|
||||||
|
console.log(bip39.validateMnemonic('some random strings together but to short')) // eslint-disable-line no-console
|
Loading…
Reference in New Issue
Block a user