Contract-Invocation
編碼數據欄位,以程式方式執行貿易交易
我正在嘗試根據契約 ABI在 python 中使用Pyethereum對數據欄位進行編碼。我正在做一個原始交易。通過簽署交易然後將其原始發送,我成功地將乙太幣從一個地址發送到另一個地址。現在我正在嘗試在合約上執行交易功能,因此需要數據欄位編碼。
我覺得 Pyethereum 中應該有一些編碼功能,但我找不到。我應該手動編碼嗎?我該怎麼辦?
Function: trade(address tokenGet, uint256 amountGet, address tokenGive, uint256 amountGive, uint256 expires, uint256 nonce, address user, uint8 v, bytes32 r, bytes32 s, uint256 amount) MethodID: 0x0a19b14a [0]:0000000000000000000000000000000000000000000000000000000000000000 [1]:0000000000000000000000000000000000000000000000002e8678fcd97f4000 [2]:000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f498 [3]:0000000000000000000000000000000000000000000000a2a15d09519be00000 [4]:0000000000000000000000000000000000000000000000000000000000401042 [5]:000000000000000000000000000000000000000000000000000000008d64da5d [6]:00000000000000000000000049b85d124dde84d651e0efb02f738c5e9c484a89 [7]:000000000000000000000000000000000000000000000000000000000000001b [8]:f92d42545bd87995b4af1d3edf225dab7515a31350b755ef4761d6de160722de [9]:3352d494554c036bd798fd287e4c2ac68371adf653a2dd6252ec7625555c1a52 [10]:00000000000000000000000000000000000000000000000000000a29e1e7c600
實際上我幾天前寫了一篇關於這個的部落格文章:)
關於此事的乙太坊維基文件在這裡。
您的輸入都不是未知長度,因此它只是對輸入參數進行編碼並適當填充它們的情況。