科技美学

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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。

 

posted on 2022-12-06 17:41  chankuang  阅读(23)  评论(0编辑  收藏  举报