Как создать свой блокчейн с нуля при помощи Go? Часть 2

первой части мы пошагово разобрали процесс генерации первых токенов и изменение состояние базы данных. В этой части взглянем на процесс создания интерфейса командной строкиАндрею нужен удобный способ добавлять новые транзакции в свою базу данных и выводить список последних балансов своих клиентов. Для этого он создает интерфейс командной строки.Самый простой способ разработать CLI программу на GO – это использовать стороннюю библиотеку github.com/spf13/cobra.Андрей подключает встроенного в Go менеджера go modules:Команда Go modules будет автоматически подтягивать любую библиотеку, которую вы выберите в файлах Go.Андрей создает новый каталог под названием cmd с подкаталогом tbb:Внутри каталога он создает файл main.go, служащий отправной точкой CLI программы.Программы GO компилируются при помощи команды install :Go будет находить недостающие библиотеки и автоматически подтягивать их перед тем как компилировать программу. В зависимости от $GOPATH результат будет сохраняться в папку $GOPATH/bin.Вы можете запустить tbb из своего терминала хоть сейчас, но ничего не произойдет, так как функция Run внутри файла main.go пуста. Для начала Андрею нужно управлять версиями (versioning support) для tbb. Рядом с файлом main.go он создает команду version.go:Компилирует ее и запускает:Готово.Идентично с файлом version.go он создает файл balances.goКоманда balances будет ответственна за загрузку последнего State базы данных и отображение информации:Теперь команда должна выдавать те же балансы, которые указаны в файле Genesis, так как tx.db все еще пуста.Все работает как надо. Теперь ему нужна команда для записи деятельности бара. Андрей создает команду ./cmd/tbb/tx.goКоманда tbb tx add использует функцию State.Add(tx) для того, чтобы вносить события в баре в систему:Команда tbb tx add содержит три необходимых элемента: –from, –to , –value.Андрей переносит все записи со своей бумажной базы данных в электронную:Теперь он рассчитывает конечные балансы клиентов:Accounts balances:__________________andrej: 998801babayaga: 1999Данные бара успешно восстановлены! В следующей части мы рассмотрим принцип работы комиссий в блокчейне, зачем вообще нужен блокчейн и как сделать базу данных неизменной.Подписывайтесь на ForkNews в Telegram, чтобы быть в курсе новостей из мира криптовалют По материалам www.freecodecamp.org

Это также будет Вам интересно:

Источник

iMag.one - Самые важные новости достойные вашего внимания из более чем 300 изданий!