简介
区块链上的所有操作都是通过交易(Transaction)上链的,无论你是转账交易还是发起的智能合约的调用,而EOS和传统区块链不同的是EOS在一个交易里可以发起多个行为(Action),这使得EOS的操作可以支持更原子化的事务控制,也同时为上链增加了便捷性和可操作性。而今天我们就要学习下EOS中的交易的结构和交易的操作。
- EOS基础全家桶(十)交易Action操作
- 简介
- 交易结构
- 发起交易的流程
- action打包数据
- 获取区块信息
- 签名
- 广播
- 发起转账交易
- 调用合约Action
交易结构
我们先用之前账号管理篇章中使用的创建系统账号的方法来看一下一个交易的结构。
cleos create account eosio astaldo \
EOS6nbWS7ZReiPMdMABoEmVBYanyTMb3GYRQGsTRMCYx9vijWoaS3 \
EOS6nbWS7ZReiPMdMABoEmVBYanyTMb3GYRQGsTRMCYx9vijWoaS3 \
-j -d
和之前不同的是我们在最后加上了两个参数,-j
表示输出json格式数据,-d
表示不进行交易广播。因为没有广播,所以交易并不会上链。
{
"expiration": "2020-04-29T08:27:24",
"ref_block_num": 79,
"ref_block_prefix": 199531063,
"max_net_usage_words": 0,
"max_cpu_usage_ms": 0,
"delay_sec": 0,
"context_free_actions": [],
"actions": [{
"account": "eosio",
"name": "newaccount",
"authorization": [{
"actor": "eosio",
"permission": "active"
}
],
"data": "0000000000ea305500000080a668323601000000010002fa026835dadff4e20d401c1d912a819dfcb3b08372a0feda23ad257e9c65b7580100000001000000010002fa026835dadff4e20d401c1d912a819dfcb3b08372a0feda23ad257e9c65b75801000000"
}
],
"transaction_extensions": [],
"signatures"