Я запускаю частный блокчейн, используя geth в качестве клиента. Я хочу сохранить некоторые пользовательские переменные в своей цепочке. Я знаю, что есть практическое ограничение на возможности хранения, так как для этого потребуется эфир. Как я могу записывать данные в блоки по мере их создания, а затем извлекать данные позже?
Я предлагаю вам следовать основному руководству , которое показывает именно это. Я бы посоветовал сначала не заморачиваться с инфраструктурой и запуском собственной ноды. Вы можете использовать полностью основанную на браузере IDE Solidity под названием Remix, чтобы проверить, что вы делаете, и взаимодействовать с вашим контрактом. Вы можете скопировать и вставить пример приветствия, который я связал выше, в Remix (вы можете перезаписать пример с бюллетенем, он довольно сложен для новичков), нажмите в правом верхнем углу на Contract
, затем нажмите create
кнопку, но перед этим напишите приветствие в тексте поле справа, например "Hello World"
(не забудьте поставить кавычки ( "
), иначе вы получите странное сообщение об ошибке.
В этом примере вы записываете некоторые данные (здесь строка, но это могут быть и другие, более сложные данные), затем они записываются в блокчейн, и вы можете позже получить их с помощью greet
функции, которая считывает данные обратно вам.
Поэтому, если у вас есть частный блокчейн с чем-то вроде Geth, он хранит данные на вашем локальном жестком диске в вашей домашней папке. Однако я думаю, что более конкретно вы говорите о хранилище смарт-контрактов. Когда вы развертываете приложения Solidity в своем частном блокчейне, внутри них есть переменные хранения, которые изменяются каждый раз, когда вы отправляете в него транзакцию. В частных блокчейнах вы можете иметь неограниченное количество эфира, так как вы его контролируете. Если хотите, вот пример кода, который взаимодействует с переменными https://ethfiddle.com/lOvRUBOJso
свободазаперта