Node.js @ethereumjs/tx: infura調用需gasfee的ERC721合約功能
1.0 Install web3
web3==5.31.1
2.0 call sign_transaction()
infura_url = "infura接口" paytoken_address = "ERC20合約地址" contract_abi_erc20 = "ERC20合約abi" admin_address = "地址" admin_private_key = "私匙" admin_nonce = "nonce" buyer_address = "地址" buyer_amount_return = "金額" web3 = Web3(Web3.HTTPProvider(infura_url)) contract = web3.eth.contract(paytoken_address, abi=contract_abi_erc20) transaction = contract.functions.transferFrom( admin_address, web3.toChecksumAddress(buyer_address), web3.toWei(buyer_amount_return, 'ether')).buildTransaction( {'from': admin_address, 'nonce': admin_nonce}) signed_tx = web3.eth.account.sign_transaction(transaction, admin_private_key) tx_hash = web3.eth.send_raw_transaction(signed_tx.rawTransaction) tx_receipt = web3.eth.wait_for_transaction_receipt(tx_hash)
調用infura接口,必需使用sign_transaction。