使用Python/Web3.py传输ERC721令牌



我在整个互联网上找不到任何关于使用web3.py在钱包之间传输ERC-721令牌的文章。铸币,整天都可以,空投,整天都可以,但钱包到钱包的转账,不行。我是不是漏掉了什么,这是不可能的?为什么在这个问题上如此缺乏对话?无论如何,如果你能给我指出正确的方向或回答我的问题,那就太棒了。我想告诉你我迄今为止所做的尝试,但答案是什么也没有,因为我甚至不知道从哪里开始。我所得到的是……

contract_call = contract.functions.transfer(destination_address, value)
unsigned_txn = contract_call.buildTransaction({'chainId': 1, 'gasPrice': 
w3.toWei(100, 'gwei')})

但这似乎不是我想要的。

在阅读了这么多之后,我终于完成了它,我希望有一天这能帮助到别人。

这里的问题是几乎任何地方都有文档说要使用transaction(而不是buildTransaction),当buildTransaction是正确的方法时。

确保你的合同有正确的初始化

transferFrom参数FROM, TO, TOKEN_ID

从拥有NFT的钱包。你要把NFT转移给谁。PRIVATE_KEY为FROM钱包的密钥。

mint_txn = NFT_CONTRACT.functions.transferFrom(FROM, TO, 8).buildTransaction(
{
'from': FROM,
'nonce': nonce,
'gas': 1000000,
'gasPrice': w3.toWei("70", "gwei"),
}
)
signed_txn = w3.eth.account.sign_transaction(mint_txn, 
private_key=PRIVATE_KEY)
w3.eth.send_raw_transaction(signed_txn.rawTransaction)

最新更新