BM License Pre-Deployment Verification

Before the BM License contract is deployed to the Acki Nacki network, the BM License Owner must launch the Block Manager (BM) service and provide it for functionality auditing by a GOSH representative

For this, it’s necessary to:

Preparing the BM Service

  1. The BM license owner must agree on cooperation with the owner of one of the BK nodes, who must:

  • Open a port for connection to the block streaming service.

  • Provide the following:

    • BK node IP address: NODE_IP

    • API access token to retrieve accounts: BK_API_TOKEN

  1. Generate two key pairs:

  • One key pair will be used to operate the BM wallet.

  • The other will be used to sign external message authentication tokens.

tvm-cli genphrase --dump block_manager.keys.json
tvm-cli genphrase --dump block_manager_signing.keys.json
  1. Deploy the BM wallet using the following command:

tvm-cli --abi ../contracts/bksystem/BlockManagerContractRoot.abi.json --addr 0:6666666666666666666666666666666666666666666666666666666666666666 -m deployAckiNackiBlockManagerNodeWallet '{"pubkey": "0xBLOCK_MANAGER_PUB_KEY", "signerPubkey": "0xBLOCK_MANAGER_SINING_PUB_KEY", "whiteListLicense": {}}'
  1. Prepare an Ansible inventory file for BM deployment, specifying all required variables. An example inventory file can be found here

Verification and Functionality Confirmation

After successfully launching the BM service, make sure to:

  • Verify that the BM is correctly connected to the blockchain and is receiving block streams.

  • Provide the IP address of your BM (HOST_PUBLIC_IP) for verification.

3. License Activation

After the service is verified:

  • The BM License contract will be deployed to the network.

  • The contract address LICENSE_ADDR and your license number will be received from a GOSH representative.

The BM License Owner must then update the whitelist in the BM wallet, adding their license number:


tvm-cli --abi ../contracts/bksystem/BlockManagerContractRoot.abi.json --addr 0:6666666666666666666666666666666666666666666666666666666666666666 -m deployAckiNackiBlockManagerNodeWallet '{"pubkey": "0xYOUR_PUB_KEY", "signerPubkey": "0xYOUR_SIGNING_KEY", "whiteListLicense": {"YOUR_LICENSE_NUMBER": true}}'
  • then add the license to the wallet:


tvm-cli -j callx --addr LICENSE_ADDR --abi contracts/bksystem/LicenseBM.abi.json --keys BM_LICENSE_OWNER.keys.json --method addBMWallet '{"pubkey": "0xBLOCK_MANAGER_PUB_KEY"}'

Last updated