2 Hello World

通过本章节,您将学会使用基本的JSON-RPC接口,完成创建并激活区块链账号,实现数据上链的功能。

2.1 获得区块链账号和测试HWT

2.2 通过JSON-RPC接口使用区块链服务

2.3 查询上链结果

2.1 获得区块链账号和测试HWT

通过HWChain Faucets,您可以获得已被激活的区块链账号,账号内已存入一定的测试网HWT,妥善保管好您的账号和私钥。使用测试网区块浏览器,通过区块链账号可查询到当前余额及账号被激活的交易记录。

2.2 通过JSON-RPC接口使用区块链服务

您可以使用Postman等HTTP接口测试工具尝试调用JSON-RPC接口。

JSON-RPC接口地址:https://testnet-apis.hwelltech.com/api/rpc

(1) 获取区块链账号

参考JSON-RPC API 的创建账号接口获得区块链账号。接口调用成功后,如以下报文所示,account_id就是区块链账号,master_seed就是账号对应的私钥,私钥需要妥善保管。新创建的账号无法在链上查到,需要先激活。

{
    "result": {
        "account_id": "hDycJcUZwWnm9VGoQVHs9EpVz2Bwha9Ej9",
        "key_type": "secp256k1",
        "master_key": "DULL BARN PIT ORE CHOW BUCK OHIO FIT MYRA FEAR FEEL BLOC",
        "master_seed": "snB11sw4*************TCT1ro1y",
        "master_seed_hex": "B2EC37BF048722C7BE64F617D0602A78",
        "public_key": "aBP1qZ89tF7NLoFESEoRQcZyZ9gUiF9u4ox7UwMdEHyGedDmCo1G",
        "status": "success"
    }
}

(2) 激活新创建的账号

参考JSON-RPC API 的在线支付HWT接口向新创建的账号转账大于30的HWT来激活账号,并在Memo中传入十六进制的备注(非必传)。备注中的信息即为上链信息,如以下接口报文所示,把“I am Bob.”(即:4920616d20426f622e)写到了区块链上。接口返回的报文中将包含交易的hash,保存好交易hash,可通过交易hash来查询链上的交易详情。

{
  "method": "submit",
  "params": [{
    "offline": false,
    "secret": "ss3ZBtHP*************ryGE4Kuf",
    "tx_json": {
      "Account": "hnUy2SHThB9DubsPmkJZUXTf5FcNDGhYEA",
      "Amount": 50,
      "Destination": "hHb9CJAWyB4hj91VRWn96DkukG4bwdtyTr",
      "TransactionType": "Payment",
      "Memos": [{
        "Memo": {
          "MemoData": "4920616d20426f622e",
          "MemoType": "48656c6c6f20576f726c64"
        }
      }]
    }
  }]
}

2.3 查询上链结果

(1) 通过区块链浏览器查询

测试网区块浏览器查询刚刚创建的区块链账号,如果能够在链上查询到此账号,说明此账号已被激活成功,同时还能查询到激活账号对应的交易记录和上链内容。

(2) 判断交易状态

参考JSON-RPC API 的获取交易历史接口,通过交易hash查询交易详情。如接口返回的以下报文所示,"status": "success",并且"validated": true,说明交易成功,并且已经通过验证,即上链交易成功。

{
    "result": {
        "Account": "hnUy2SHThB9DubsPmkJZUXTf5FcNDGhYEA",
        "Amount": "100",
        "Destination": "hHb9CJAWyB4hj91VRWn96DkukG4bwdtyTr",
        "Fee": "10000",
        "Flags": 2147483648,
        "Memos": [
            {
                "Memo": {
                    "MemoData": "74657374",
                    "MemoType": "737472696E67"
                }
            }
        ],
        "Sequence": 15,
        "SigningPubKey": "03EAC169AF572EB52038D1C51F7E5B9C94CE34A7FBB714860BE001BDE25A4B03C8",
        "TransactionType": "Payment",
        "TxnSignature": "304402206BEE8A50F000D3EBA91F4C50D0A2D08927514C414ABCA729303AE09B1A2E9A90022030E05AC825DC510AF5244552091A08FD84364A32B7F57B1C5CEC2FF195610517",
        "date": 619176740,
        "hash": "4E284CD73E6BDE90DD8A740B4E49340B3C5A8D4DBA497BFDD75264351EB16617",
        "inLedger": 467844,
        "ledger_current_index": 467932,
        "ledger_index": 467844,
        "meta": {
            "AffectedNodes": [
                {
                    "ModifiedNode": {
                        "FinalFields": {
                            "Account": "hHb9CJAWyB4hj91VRWn96DkukG4bwdtyTr",
                            "AssetNumber": "0000000000000006",
                            "Balance": "99989772898258360",
                            "Flags": 8388608,
                            "OwnerCount": 0,
                            "Sequence": 189
                        },
                        "LedgerEntryType": "AccountRoot",
                        "LedgerIndex": "2B6AC232AA4C4BE41BF49D2459FA4A0347E1B543A4C92FCEE0821C0201E2E9A8",
                        "PreviousFields": {
                            "Balance": "99989772898248260"
                        },
                        "PreviousTxnID": "E2D3A468F6CD4A52B3580D8041AD325146B79E38C50D89093020C3A1BFB24E9C",
                        "PreviousTxnLgrSeq": 467828
                    }
                },
                {
                    "ModifiedNode": {
                        "FinalFields": {
                            "Account": "hnUy2SHThB9DubsPmkJZUXTf5FcNDGhYEA",
                            "AssetNumber": "0000000000000003",
                            "Balance": "13369849900",
                            "Flags": 8388608,
                            "OwnerCount": 0,
                            "Sequence": 16
                        },
                        "LedgerEntryType": "AccountRoot",
                        "LedgerIndex": "AA22EEB13821659B8316218C1D78606FD9C57C3192C2104EB7B0920AA30FF6C6",
                        "PreviousFields": {
                            "Balance": "13369860000",
                            "Sequence": 15
                        },
                        "PreviousTxnID": "E2D3A468F6CD4A52B3580D8041AD325146B79E38C50D89093020C3A1BFB24E9C",
                        "PreviousTxnLgrSeq": 467828
                    }
                }
            ],
            "TransactionIndex": 0,
            "TransactionResult": "tesSUCCESS",
            "delivered_amount": "100"
        },
        "status": "success",
        "validated": true
    }
}

results matching ""

    No results matching ""