wavesplatform - 了解 Wave 类型 7(交换)交易
问题描述
我需要一些帮助来尝试理解 7 型 tx 数据结构。例如,在处理类型 7 tx 时,我从 REST api 得到这个。
{
"senderPublicKey": "9cpfKN9suPNvfeUNphzxXMjcnn974eme8ZhWUjaktzU5",
"amount": 2500000000,
"fee": 300000,
"type": 7,
"version": 2,
"sellMatcherFee": 300000,
"sender": "3PEjHv3JGjcWNpYEEkif2w8NXV4kbhnoGgu",
"feeAssetId": null,
"proofs": ["3r7DJ7HyAePryf8334yMSoMccWwVcGqKZtB5GkQLLpwfxKqiMbRnXjzEtJXR3trPTwMWv9YN19VSBcibrDe4o41U"],
"price": 16000,
"id": "9h23sgpwoZHRXbFTJacK8saf8hqvmfYBuRc7De15Xzbg",
"order2": {
"version": 2,
"id": "6QCudpHuJsQKw3fzNEzowyomJb8t6R38CX42j9Hr4thL",
"sender": "3PAfzcstFHooUexfvZ77S4yGw3ftHWK47v6",
"senderPublicKey": "EoSgBYUz7Dn2NyKeme9TC1mvTLgG2Z4E9QUsmyFoJbs1",
"matcherPublicKey": "9cpfKN9suPNvfeUNphzxXMjcnn974eme8ZhWUjaktzU5",
"assetPair": {
"amountAsset": "HKJK3zswXJLbsgJ3pQNiYVNu6svy4SM9zucB8YEJFXqt",
"priceAsset": null
},
"orderType": "sell",
"amount": 2500000000,
"price": 16000,
"timestamp": 1582473059417,
"expiration": 1582476659415,
"matcherFee": 300000,
"signature": "2wZ3uNPtnUec5HeobuJgok44foh3o195a8EYSi1YdKyakeuUJcDGXMMDM8QfqtLpFep1UP4MR2kRC2WQ9uzsgxNq",
"proofs": ["2wZ3uNPtnUec5HeobuJgok44foh3o195a8EYSi1YdKyakeuUJcDGXMMDM8QfqtLpFep1UP4MR2kRC2WQ9uzsgxNq"]
},
"order1": {
"version": 2,
"id": "GfEhMC8s67GkWiTcJSo15UL1Y5FHY5GZzuy1JSaBeTZB",
"sender": "3P9FCD1DBeaVTtpuXQAa57LPcqWdZAw7uue",
"senderPublicKey": "svTLkS45BVUqwQLrCe1M4zMzk3PyDWtmWdxfxiCkcRt",
"matcherPublicKey": "9cpfKN9suPNvfeUNphzxXMjcnn974eme8ZhWUjaktzU5",
"assetPair": {
"amountAsset": "HKJK3zswXJLbsgJ3pQNiYVNu6svy4SM9zucB8YEJFXqt",
"priceAsset": null
},
"orderType": "buy",
"amount": 2500000000,
"price": 16000,
"timestamp": 1582473193433,
"expiration": 1584978793432,
"matcherFee": 300000,
"signature": "5zg1Hn2iv6H4BAkDCRngWXdCFMoiBryFvzyGX15QhSfwSwW5SctRPT82BHW7BCZy9ecfrPuP8nTmQPAgkByM7FLN",
"proofs": ["5zg1Hn2iv6H4BAkDCRngWXdCFMoiBryFvzyGX15QhSfwSwW5SctRPT82BHW7BCZy9ecfrPuP8nTmQPAgkByM7FLN"]
},
"buyMatcherFee": 300000,
"timestamp": 1582473196322,
"height": 1943003
}
假设这3P9FCD1DBeaVTtpuXQAa57LPcqWdZAw7uue
是我的地址钱包,我的问题是:
- 我怎么知道这个 tx 是发送 WAVES 还是接收 WAVES?
order2
将始终是 SELL 类型的订单?- 在 order1 和 order2 中,该
amountAsset
字段都有一个资产 ID,但在其他一些 txs 中,我priceAsset
填充了该字段并且amountAsset
为空。
你能点亮一些灯吗?
解决方案
资产对应由两种不同的资产组成。例如,您不能在 WAVES 和 WAVES 之间创建交换。
这样一对中的第一个资产称为“金额资产”,第二个称为“价格资产”。因此,买入订单意味着“我想以 Y 价格的资产硬币购买 X 数量的资产硬币”。因此,卖出订单意味着“我想以 Y 价格的资产硬币出售 X 数量的资产硬币”。
在 Exchange 中,交易“order1”始终为“buy”类型,“order2”为“sell”类型。
您可以查看事务及其 JSON 的示例:
推荐阅读
- git - 在长期运行的樱桃采摘分支中禁用整个合并
- mysql - macOS:zsh:找不到命令:mysqldump
- python-3.x - 异常值:_getfullpathname:路径应该是字符串、字节或 os.PathLike,而不是列表
- php - (已解决)无法让 php 与 nginx 一起运行//无论我尝试什么,我都会得到 502 Bad Gateway
- python - 想要使用嵌套字典在输出控制台打印内部字典的所有键和值
- flutter - 抛出异常时,快照会包含错误吗?
- batch-file - 当我调用一个应该启动一个程序的函数时,为什么我的所有程序都打开了?
- javascript - 如何为同一行中的不同单元格设置不同的字体颜色?
- python - 带有会话变量的 Python CGI 计数器
- c++ - 深拷贝不成功