После такого сумасшедшего года на сцене блокчейн / криптовалют я хотел создать что-то новое и уникальное для моей возлюбленной. Внезапно мне пришла в голову идея связать тему блокчейна с темой Рождества, и я начал составлять рождественский календарь блокчейна. Календари имеют тенденцию быть линейными, как блокчейн, так почему бы не попробовать и не объединить оба.
Что вам нужно:
- 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 декабря вам нужно будет найти контейнер, предыдущий хэш которого совпадает с хешем контейнера предыдущего дня. Итак, с каждым днем это должно становиться легче.
Сделайте себе одолжение и не выстраивайте контейнеры по строке, потому что это испортит вам удовольствие от поиска правильной комбинации хеша / предыдущего хеша.
Хочу пожелать вам счастливых цепочек, счастливых праздников и счастливого Нового года. Заботиться.