как вызвать web3.isAddress() через JSON-RPC?

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. все равно не повезло. кто-нибудь может пролить свет на это? Спасибо.

как вы называете это с помощью rpc?
Например:curl -X POST --data '{"jsonrpc":"2.0","method":"web3_is_address","params":"0xafsdf","id":67}' http://localhost:8545

Ответы (1)

Согласно вики , isAddressфункция не отображается через json rpc.

При использовании JS: Вы можете сделать вызов локально, установив пакет узла web3 ( npm install web3) при использовании JS.

Если вы не используете JS: вы также можете взять регулярное выражение из источника web3 и реализовать функцию на выбранном вами языке.

Спасибо за ответ. Да, я читал эту вики раньше. Некоторые такие методы personal.newAccount()не перечислены в этой вики, но я все еще могу вызывать их из JSON RPC. Вот почему я подумал, что методы util isAddress()должны toWei()быть доступны и через JSON RPC. И да, я могу скопировать регулярное выражение, но это будет мое последнее средство.
К сожалению, я не знаю о возможности вызова функции через json rpc.