預け入れシナリオの開発を容易にするために、コントラクトプラットフォームはネイティブ預け入れインターフェイスを提供します。
NativeDepositData は、コントラクトブロックチェーンにデータを預け入れます。
リクエストパラメーター
以下のパラメーターをオブジェクトとしてカプセル化します。
| パラメーター | 必須 | タイプ | 説明 |
|---|---|---|---|
| from | true | string | トランザクションに現在使用されているアカウント。 |
| to | true | string | 預け入れのターゲットアカウント。 |
| data | true | object | 預け入れるデータ。 |
data フィールド:
| パラメーター | 必須 | タイプ | 説明 |
|---|---|---|---|
| payload | true | string | 「0x」で始まる 16 進数型の預け入れデータのシリアル化。 |
説明
注: 預け入れデータには上限があり、これはコントラクトブロックチェーンの構成オプションです。 デフォルトでは 1 MB に設定されており、状況に合わせて変更できます。
例
chain.ctr.NativeDepositData({
from: 'Tester001',
to: 'Tester001',
data: {
payload: '0x1234' // 預け入れデータ、16 進数にシリアル化
}
}, (err, data) => {
// 預け入れられたデータをクエリするには、トランザクションハッシュを使用して QueryTransaction を使用します。
chain.ctr.QueryTransaction({
hash: data.txhash
}, (err, data) => {
console.log('TX data:', data)
})
// QueryTransaction によって預け入れられたトランザクションをクエリして、トランザクションが実行されたことを証明します。 QueryTransactionReceipt を使用すると、トランザクションが正常に実行され (return_code が 0)、ブロックにパックされたかどうかを検証できます。
chain.ctr.QueryTransactionReceipt({
hash: data.txhash
}, (err, data) => {
console.log('Receipt data:', data)
})
})例
TX data: { msg_type: 62,
sequence: 4,
return_code: 0,
group_id: '0x0000000000000000000000000000000000000000',
tx:
{ hash:
'0x0c9987c9568a402e16fff5f4b2d0056ad6289a5b61109be947f1c7d25ccaf7dd',
transaction_type: 40,
timestamp: 1551861396256,
nonce: '64',
period: 100,
from:
'0xc60a9d48105950a0cca07a4c6320b98c303ad42d694a634529e8e1a0a16fcdb5',
to:
'0xc60a9d48105950a0cca07a4c6320b98c303ad42d694a634529e8e1a0a16fcdb5',
value: 0,
gas: 10000000,
group_id: '0x0000000000000000000000000000000000000000',
version: 2,
data: '0x1234',
signature:
[ '0x73a83b1e4b497222c890c9f602bb8bf48c0ed647bd8455d10b5d39886c3341ff2342a197225306ea2ac181c18ef5912fb07dd1319238469e257afa44326a9d0900' ],
extensions: [] },
block_number: 269873,
transaction_index: 0,
api: 'QueryTransaction' }
Receipt data: { msg_type: 63,
sequence: 5,
return_code: 0,
group_id: '0x0000000000000000000000000000000000000000',
receipt:
{ result: 0,
gas_used: 20020,
log_entry: [ [Object] ],
output: '' },
block_number: 269873,
transaction_index: 0,
api: 'QueryTransactionReceipt' }