TODO: hbs2-merkle-export Нужен быстрый импорт/экспорт больших merkle-деревьев. Делается таким образом: Экспорт ~~~~~~~ 1. Обходим дерево как обычно 2. Пишем блоки в бинарный файл в формате обхода: |size|data|size|data|...|size|data 3. Первым элементом является корень дерева (обсуждаемо, возможно, последним) Импорт ~~~~~~ 1. Читаем размер 2. Читаем блок 3. Считаем хэш 4. Пишем блок в сторейдж 5. Возвращаем хэш головы Быстрая заливка через сокет ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Пир держит специальный локальный сокет (возможно, MessagingTCP / возможно UNIX) Клиент заливает этот поток -- пир читает размер, читает данные, считает хэш, пишет в сторейдж Всё это даст возможность быстро заливать данные в сторейдж / ускорит экспорт-импорт больших репозиториев. Заливка через hbs2 (через пайп) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` hbs2 export [hash] > ... cat file | hbs2 import ``` Заливка через hbs2-peer ~~~~~~~~~~~~~~~~~~~~~~~ 1. В настройке разрешаем сокет для импорта 2. в hbs2-peer poke hbs2-peer говорит нам этот сокет 3. Пишем файл в данный сокет - хоть неткатом