TransWikia.com

Web3.py Ethereum PoA スマートコントラクト実行時のトランザクションに文字列を追加したい

スタック・オーバーフロー Asked by nirgnehol on August 30, 2020

過去にEthereum送金時のトランザクションにメッセージを追加する質問をさせていただき、実装しました
今回は、スマートコントラクト実行時(ERC20送付)のトランザクションにメッセージを追加することにしました

Ether送金時はdataに文字列をつめていたので、同じようにしました
以下は抜粋です

comment = 'abc'
comment = web3.toHex(comment.encode('utf-8'))

transaction = token_contract.functions.transfer(
    web3.toChecksumAddress(to_address),
    value * 10**18).buildTransaction({
        'from':
        web3.toChecksumAddress(from_address),
        'data':
        comment
    })

tx_hash = web3.personal.sendTransaction(transaction, from_password)
web3.eth.waitForTransactionReceipt(tx_hash)

dataのところでエラーになってしまいます
外してトークンだけ送るようにすれば送ることが出来るので、問題はdataの箇所だと思います

スマートコントラクトに文字を詰めるのではなく、トランザクションに詰めることは出来ないのでしょうか?
お知恵を貸していただきたく

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP