Transactions

如何為 ERC20 代幣生成交易?

  • October 16, 2020

我目前正在使用這個包在 ETH 中生成新交易:

https://github.com/kornrunner/php-ethereum-offline-raw-tx

現在我想為像 Tether 這樣的 ERC20 代幣生成交易。據我所知,當我們想要創建一個 eth 交易時,我們必須設置所有這些項目:

nonce' => $this->nonce,
           'gasPrice' => $this->gasPrice,
           'gasLimit' => $this->gasLimit,
           'to' => $this->to,
           'value' => $this->value,
           'data' => $this->data,
           'v' => $this->v,
           'r' => $this->r,
           's' => $this->s,

但是我對代幣一無所知,它們和ETH交易一樣嗎?我們如何以及在何處定義此交易是關於令牌和哪個令牌的?

一般來說,ERC20 代幣交易與 ETH 交易完全不同。如果交易發生在兩個合約之間,對於 ETH 交易,收據合約的程式碼中必須具有回退功能。此外,發送方必須在其合約程式碼中具有備份功能。而 ERC20 代幣交易在發送者的合約和接收者的合約中都不需要任何回退功能。ERC20 代幣是一種合約,它決定了一個地址有多少代幣,該代幣在同一個合約中定義。發送者的合約告訴 ERC20 代幣合約以一個值減少其餘額,並以相同的值增加收據的餘額。最後,我建議您閱讀內容以獲取更多資訊。

並回答你的第二個問題。Ledger 不會顯示您擁有多少代幣,以消除您需要連接到代幣合約並獲取餘額,並且您看不到交易是 ERC20 代幣但可以看到它不是乙太交易。但是,像 Metamask 這樣的錢包可以顯示所有提到的內容。

祝你好運。

我發現這篇文章進行ETH轉讓: https ://goethereumbook.org/en/transfer-eth/

而這個Token轉移: https ://goethereumbook.org/en/transfer-tokens/

還有PHP developers這個包:

https://github.com/kornrunner/php-ethereum-token

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