事务流程
交易事务流程
交易字段详解
{
"txid": "", // 交易id
"blockid": "", // 交易所在block的 blockid
// 交易utxo input list
"txInputs": [
{
"refTxid": "08b2497436fdb07b6fbf902f81191f7e1d042c15ed436d91824e42ed5140eb72", // utxo所来源交易
"refOffset": 0, // utxo来源交易的offset
"fromAddr": "dpzuVdosQrF2kmzumhVeFQZa1aYcdgFpN", // utxo 所属AK
"amount": "100000" // utxo金额
}
],
// 交易utxo output list
"txOutputs": [
{
"amount": "1000", // utxo金额
"toAddr": "S4Yburshd1qtzGLntNSRTDABqQW2oyaCw" // utxo接收者
},
{
"amount": "99000", // utxo 金额
"toAddr": "dpzuVdosQrF2kmzumhVeFQZa1aYcdgFpN" // utxo接收者
}
],
// 交易描述信息,用户自定义,用来描述交易详情
"desc": "Maybe common transfer transaction",
// 交易nonce值
"nonce": "156438449819727887",
// 交易发起时间戳
"timestamp": 1564384498055177000,
// 交易version,当前系统仅支持1
"version": 1,
// 交易是否为系统自动生成的tx标识, 客户端需要设置为 false, 否则交易失败
"autogen": false,
// 交易是否为矿工奖励交易标识,客户端需要设置为 false, 否则交易失败
"coinbase": false,
// 合约预执行生成的读集:使用预执行的结果中的读集进行回填
"txInputsExt": [
{
"bucket": "contract",
"key": "banned.desc",
"refTxid": "111949af6bf48f61c51a8d3a93a22b8b7ed94dbf1a800f35674e3f2236410cb7",
"refOffset": 3
},
{
"bucket": "contract",
"key": "complianceCheck.desc",
"refTxid": "ad9a78ee67cbb6e2f1fff959dd3a9ca74b1a3106f3257e729ac04c5d5121866c",
"refOffset": 3
},
{
"bucket": "contract",
"key": "identity.desc",
"refTxid": "",
"refOffset": 0
}
],
// 合约预执行生成的写集: 使用预执行的结果中的写集进行回填
"txOutputsExt": null,
// 合约请求详情: 使用预执行的结果中的请求进行回填
"contractRequests": [
{
// 虚拟机类型
"moduleName": "wasm",
// 调用合约名
"contractName": "banned",
// 调用方法名
"methodName": "verify",
// 合约方法参数
"args": {
"contract": ""
},
// 合约预执行资源消耗
"resource_limits": [
{
"type": "CPU",
"limit": 40997
},
{
"type": "MEMORY",
"limit": 16777216
},
{
"type": "DISK",
"limit": 0
},
{
"type": "XFEE",
"limit": 0
}
]
},
{
"moduleName": "wasm",
"contractName": "identity",
"methodName": "verify",
"args": {},
"resource_limits": null
},
{
"moduleName": "wasm",
"contractName": "complianceCheck",
"methodName": "call",
"args": {},
"resource_limits": [
{
"type": "CPU",
"limit": 32175
},
{
"type": "MEMORY",
"limit": 16777216
},
{
"type": "DISK",
"limit": 0
},
{
"type": "XFEE",
"limit": 0
}
]
}
],
// 交易提交者,只能是address,表示这个交易是由谁提交到区块链网络中
"initiator": "dpzuVdosQrF2kmzumhVeFQZa1aYcdgFpN",
// 交易中所有涉及到的权限需求的地址或者账户下的身份,主要是转账和合约调用以及背书需求等,
// 形式有两种 1)以地址的身份: address 2) 以某个账户下某个地址的身份:account/address1
"authRequire": [
"dpzuVdosQrF2kmzumhVeFQZa1aYcdgFpN"
],
// 交易提交者签名
"initiatorSigns": null,
// 交易中所有涉及到的权限需求的签名
"authRequireSigns": null,
// 节点收到tx的时间戳,不参与签名
"ReceivedTimestamp": 0
}