web3.isAddress
(и другие web3
методы, такие как toWei
) отлично работают в geth
консоли, но при вызове из RPC (или IPC) он всегда возвращает
{"jsonrpc":"2.0","id":1,"error":{"code":-32601,"message":"The method is_address does not exist/is not available"}}
web3
включен по умолчанию, но я все же явно использовал --rpcapi web3
. Это подтверждаетсяsocat
{"jsonrpc":"2.0","id":1,"result":{"admin":"1.0","debug":"1.0","eth":"1.0","miner":"1.0","net":"1.0","personal":"1.0","rpc":"1.0","txpool":"1.0","web3":"1.0"}}
Я перепробовал все возможные комбинации, какие только мог придумать, например web3_is_address
. все равно не повезло. кто-нибудь может пролить свет на это? Спасибо.
Согласно вики , isAddress
функция не отображается через json rpc.
При использовании JS: Вы можете сделать вызов локально, установив пакет узла web3 ( npm install web3
) при использовании JS.
Если вы не используете JS: вы также можете взять регулярное выражение из источника web3 и реализовать функцию на выбранном вами языке.
personal.newAccount()
не перечислены в этой вики, но я все еще могу вызывать их из JSON RPC. Вот почему я подумал, что методы util isAddress()
должны toWei()
быть доступны и через JSON RPC. И да, я могу скопировать регулярное выражение, но это будет мое последнее средство.
Бадр Беллай
понял00d
curl -X POST --data '{"jsonrpc":"2.0","method":"web3_is_address","params":"0xafsdf","id":67}' http://localhost:8545