У меня есть контракт. Я храню данные в Эфириуме, используя контракт. Можно ли работать с контрактом в стиле git. Например, у меня есть список хэшей предыдущих транзакций. Могу ли я получить данные из любой конкретной транзакции, используя, например, web3j?
Кстати, как я это сделал с помощью web3j:
Dto dto = new Dto();
Observable<EthTransaction> observable = getWeb3().ethGetTransactionByHash(transactionHash).observable();
observable.subscribe(ethTransaction -> ethTransaction.getTransaction().ifPresent(dto::setTransaction));
return dto.getTransaction();
Итак, вот транзакция с конкретным хешем tx. Затем просто getInput() для получения данных из транзакции
QuickBlocks ( http://quickblocks.io ) предоставляет ряд инструментов командной строки, которые могут вас заинтересовать. Вы можете сделать это из командной строки, например:
getBlock 4100010
и он выведет этот блок на консоль. Или,
getTransaciton 0xhashhash
и он выведет эту транзакцию на экран. Другие инструменты включают getTrace
, getReciept
, getBloom
, isContract
, whenBlock
, среди прочего. Это также библиотека для программирования C++, так что вы можете писать для нее код.
Объявление публичной службы: я работаю в QuickBlocks.
Гавей
Илья Худяков
Илья Худяков