Ethereum: Web3.pyで関数実行時に Could not identify the intended function with name `xxx` エラーが出る場合
以下のようなコードを実行する際に、表題のエラーが吐かれる場合があります。
tx_hash=token.functions.mint(
web3.toChecksumAddress(target['address']),
target['token_amount']
).transact({'from': web3.toChecksumAddress('0x7ad8f90cfa071c8420e3f09fe0e413d0c47502e6')})
引数の形外なので、この場合、Decimalをintに変換してやればエラーは消えます。
tx_hash=token.functions.mint(
web3.toChecksumAddress(target['address']),
int(target['token_amount'])
).transact({'from': web3.toChecksumAddress('0x7ad8f90cfa071c8420e3f09fe0e413d0c47502e6')})
吐かれたエラー
"errorMessage": "\nCould not identify the intended function with name `mint`, positional argument(s) of type `(<class 'str'>, <class 'decimal.Decimal'>)` and keyword argument(s) of type `{}`.\nFound 1 function(s) with the name `mint`: ['mint(address,uint256)']\nFunction invocation failed due to improper argument encoding.",
環境
"errorMessage": "\nCould not identify the intended function with name `mint`, positional argument(s) of type `(<class 'str'>, <class 'decimal.Decimal'>)` and keyword argument(s) of type `{}`.\nFound 1 function(s) with the name `mint`: ['mint(address,uint256)']\nFunction invocation failed due to improper argument encoding.",
Python 3.6.1
AWS Lambda
Author And Source
この問題について(Ethereum: Web3.pyで関数実行時に Could not identify the intended function with name `xxx` エラーが出る場合), 我々は、より多くの情報をここで見つけました https://qiita.com/sot528/items/eb1674e7a4379299f5a1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .