home · Posts · Archive · Tags

初探bigchaindb

設定bigchaindb本地節點

使用docker

  • pull image:
    docker pull bigchaindb/bigchaindb:all-in-one
  • run image:
docker run \ --detach \ --name bigchaindb \ --publish 9984:9984 \ --publish 9985:9985 \ --publish 27017:27017 \ --publish 26657:26657 \ --volume $HOME/bigchaindb_docker/mongodb/data/db:/data/db \ --volume $HOME/bigchaindb_docker/mongodb/data/configdb:/data/configdb \ --volume $HOME/bigchaindb_docker/tendermint:/tendermint \ bigchaindb/bigchaindb:all-in-one`

python 程式

  1. 設定節點
from bigchaindb_driver import BigchainDB bdb_root_url = 'http://localhost:9984' bdb = BigchainDB(bdb_root_url)
  1. 定義asset(資產)
game_boy_token = { 'data': { 'token_for': { 'game_boy': { 'serial_number': 'LR1235' } }, 'description': 'Time share token. Each token equals one hour of usage.', }, }
  1. 建立交易
prepared_token_tx = bdb.transactions.prepare( operation='CREATE', signers=alice.public_key, recipients=[([bob.public_key], 10)], asset=game_boy_token)
  1. 簽署交易
fulfilled_token_tx = bdb.transactions.fulfill( prepared_token_tx, private_keys=alice.private_key)
  1. 送出交易
txn_id = bdb.transactions.send_commit(fulfilled_token_tx) txn_id

應該會看到以下

{'asset': {'data': {'description': 'Time share token. Each token equals one hour of usage.', 'token_for': {'game_boy': {'serial_number': 'LR1235'}}}}, 'id': '98ac51b2c675269aa11baef335b8bd0ebcc57f5f0667e214801c2985cf4c2523', 'inputs': [{'fulfillment': 'pGSAIOPXBFb8bPTDgBLdij1w4kGQgXqx71ufCbGIAT9XqDeNgUC8k44UIXeEDswVGq2dmD5V1njfa3_u-4NXbUXoZIgQRIZCFBf3_bGVAokaaUrZ7R3TtRxIqtw3OKszxEKc-ooC', 'fulfills': None, 'owners_before': ['GLPi9fyTGfcHzQe11Zu39q3yWvCDsPzJ5CKYbaieRtig']}], 'metadata': None, 'operation': 'CREATE', 'outputs': [{'amount': '10', 'condition': {'details': {'public_key': '3NAbk3h45m2Jw56trHaXm5jWP8Jxtz6ZK2WECyDgvEte', 'type': 'ed25519-sha-256'}, 'uri': 'ni:///sha-256;MoPw1IV6D9k0fbiVr65BNRvmhnqmSrHZAw1EVGiALUA?fpt=ed25519-sha-256&cost=131072'}, 'public_keys': ['3NAbk3h45m2Jw56trHaXm5jWP8Jxtz6ZK2WECyDgvEte']}], 'version': '2.0'}

ref

👈Go Back

@alanhc