Contract-Invocation

編碼數據欄位,以程式方式執行貿易交易

  • August 22, 2017

我正在嘗試根據契約 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

實際上我幾天前寫了一篇關於這個的部落格文章:)

關於此事的乙太坊維基文件在這裡

您的輸入都不是未知長度,因此它只是對輸入參數進行編碼並適當填充它們的情況。

引用自:https://ethereum.stackexchange.com/questions/24879