Как сохранить данные в моем приватном блокчейне?

Я запускаю частный блокчейн, используя geth в качестве клиента. Я хочу сохранить некоторые пользовательские переменные в своей цепочке. Я знаю, что есть практическое ограничение на возможности хранения, так как для этого потребуется эфир. Как я могу записывать данные в блоки по мере их создания, а затем извлекать данные позже?

Использование блокчейна для простого хранения данных, вероятно, не является ни быстрым, ни масштабируемым. Возможно, вы захотите изучить распределенную базу данных, такую ​​​​как Apache Cassandra, или распределенное файловое хранилище IPFS или Swarm.

Ответы (2)

Я предлагаю вам следовать основному руководству , которое показывает именно это. Я бы посоветовал сначала не заморачиваться с инфраструктурой и запуском собственной ноды. Вы можете использовать полностью основанную на браузере IDE Solidity под названием Remix, чтобы проверить, что вы делаете, и взаимодействовать с вашим контрактом. Вы можете скопировать и вставить пример приветствия, который я связал выше, в Remix (вы можете перезаписать пример с бюллетенем, он довольно сложен для новичков), нажмите в правом верхнем углу на Contract, затем нажмите createкнопку, но перед этим напишите приветствие в тексте поле справа, например "Hello World"(не забудьте поставить кавычки ( "), иначе вы получите странное сообщение об ошибке.

В этом примере вы записываете некоторые данные (здесь строка, но это могут быть и другие, более сложные данные), затем они записываются в блокчейн, и вы можете позже получить их с помощью greetфункции, которая считывает данные обратно вам.

Поэтому, если у вас есть частный блокчейн с чем-то вроде Geth, он хранит данные на вашем локальном жестком диске в вашей домашней папке. Однако я думаю, что более конкретно вы говорите о хранилище смарт-контрактов. Когда вы развертываете приложения Solidity в своем частном блокчейне, внутри них есть переменные хранения, которые изменяются каждый раз, когда вы отправляете в него транзакцию. В частных блокчейнах вы можете иметь неограниченное количество эфира, так как вы его контролируете. Если хотите, вот пример кода, который взаимодействует с переменными https://ethfiddle.com/lOvRUBOJso