После такого сумасшедшего года на сцене блокчейн / криптовалют я хотел создать что-то новое и уникальное для моей возлюбленной. Внезапно мне пришла в голову идея связать тему блокчейна с темой Рождества, и я начал составлять рождественский календарь блокчейна. Календари имеют тенденцию быть линейными, как блокчейн, так почему бы не попробовать и не объединить оба.

Что вам нужно:

  • 24 контейнера, такие как коробки, сумки, носки или что-нибудь, что может содержать ваши сладости
  • 24 предмета, которые нужно положить в контейнеры (это самая сложная часть)
  • Node JS (›= 9.3.0) / npm или yarn / базовые навыки программирования на JavaScript (или просто скопируйте и вставьте мои скрипты)
  • Принтер / Ножницы / Клей / Офисные материалы

В основном вся логика Календаря описана в файле calendar.js, показанном ниже. Для каждого элемента в списке создается новый блок, который присоединяется к цепочке блоков. После добавления всех блоков программа распечатывает всю цепочку блоков. Вам просто нужно перечислить свои 24 элемента, которые вы хотите поместить в календарь в массиве, начиная со строки 4. Этот скрипт использует библиотеку Blockchain под названием Blockchain lite. Вы должны установить его заранее с помощью команды:

npm install blockchain-lite

or

yarn add blockchain-lite

если вы используете пряжу. Это должно установить пакет blockchain-lite из реестра npm.

После выполнения команды:

node calendar.js

Вы должны получить результат, как показано в файле calendar-output.txt ниже. Я использовал команду:

node calendar.js > calendar-output.txt

Чтобы передать вывод в текстовый файл с именем calendar.txt

После этого мы получили массив из 24 (от 0 до 23) блоков, содержащих всю информацию, которую мы вставили ранее, и дополнительную метаинформацию, такую ​​как временная метка и индекс. Все блоки и данные внутри согласованы и правильно хешированы. Если вы измените один элемент в цепочке блоков, вся цепочка будет непоследовательной, и потребуется переписать всю цепочку, чтобы снова стать согласованной. У первого блока нет предыдущего хеша. Этот блок - наш генезисный блок или 1 декабря. Блок с индексом 23 - это наш последний блок или 24 декабря.

После передачи вывода в файл calendar.txt я изменил файл вручную. Я удалил всю метаинформацию и данные из файла. Я хотел, чтобы моя бухгалтерская книга оставалась конфиденциальной;).

Я также сократил части хэшей между символами 12 и 52, чтобы результат уместился на моих коробках. Также не было необходимости иметь хэши длиной 64 символа, в любом случае они уникальны в 24 блоках.

Теперь вам просто нужно распечатать блоки (calendar.txt) на Рождество как бумагу (толстый красный картон или что-то в этом роде). Наполните контейнеры предметами. Разрежьте напечатанные хэши блоков на части и прикрепите их к нужному контейнеру. Смешайте все емкости, и все готово. 1 декабря вам нужно будет искать блок без предыдущего хеша или блока генезиса. 2 декабря вам нужно будет найти контейнер, предыдущий хэш которого совпадает с хешем контейнера предыдущего дня. Итак, с каждым днем ​​это должно становиться легче.

Сделайте себе одолжение и не выстраивайте контейнеры по строке, потому что это испортит вам удовольствие от поиска правильной комбинации хеша / предыдущего хеша.

Хочу пожелать вам счастливых цепочек, счастливых праздников и счастливого Нового года. Заботиться.