Web3js

使用私鑰發送簽名交易

  • February 19, 2022

我在 Fantom 測試網路上部署了測試令牌(LQRD 的副本)。

我使用 A 私鑰將簽名交易從 A 賬戶發送到 B 賬戶。

交易成功。

但是令牌沒有從 A 轉移到 B。

const nonce = web3.eth.getTransactionCount('A address','pending');
const Contract = new web3.eth.Contract(Abi, Addresse);
const encodedABI = Contract.methods.transfer('B address', 100000).encodeABI();
var rawTransaction = {"to": 'B addresss', "gas": 100000, "nonce": nonce ,"data": encodedABI}; 
const signedTx = await web3.eth.accounts.signTransaction(rawTransaction, 'Private key');
console.log(signedTx.rawTransaction);
web3.eth.sendSignedTransaction(signedTx.rawTransaction, function(error, hash) {
 if(!error) console.log(hash);
 else console.log(error);
});

如果您刪除了事務雜湊,那就太好了。

我發現您的對rawTransaction像有問題的是,您正在指定一個to鍵。

這不是必需的,因為您 encodeABI 會將呼叫定向到正確的地址,除此之外,to 應該指向令牌地址而不是B address.

您的轉接電話可能被定向到B address而不是令牌地址。

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