Каков самый простой способ выполнить фрагмент кода по определенному адресу основного блокчейна локально с использованием интерфейса командной строки?
Здесь показано, как воспроизвести mp3-файл на основе входных данных с помощью командыgeth
, но как вы можете выполнить реальный код с его логикой на вашей локальной машине для собственных целей тестирования?
Метод JSON_RPC eth_call позволяет имитировать транзакцию в блокчейне, включая выполнение контракта.
Доступ к этому методу можно получить в geth или web3.js как
eth.call({from: eth.accounts[0], to: myContract, gas: 1000000, value: web3.toWei(1,"ether")})
Если вы знаете ABI для контракта, вы можете использовать
var myContract = eth.contract(myABI).at(contractAddress);
var result = myContract.myMethod.call(arg1,arg2,arg3,{from:myAddress, gas:1000000})
Если вы хотите получить отладочную трассировку транзакции, вы можете отправить транзакцию, а затем использовать debug_traceTransaction .
тайвано
Кенорб
Николя Массар
Кенорб