Создание полезного NFT

    0
    2



    Эта статья была впервые опубликована в блоге доктора Крейга Райта, и мы переиздали ее с разрешения автора.

    Концепция невзаимозаменяемого токена (NFT) использовалась для создания предметов, связанных со спекуляцией и отмыванием денег (Wilson et al., 2022). Тем не менее, как я надеюсь продемонстрировать в этом посте, та же технология может значительно упростить развертывание многих существующих приложений, в том числе в области бухгалтерского учета и торговли. В сегодняшнем примере мы пройдем некоторые этапы создания коносамента (BoL), который связывает идентификационные данные корпораций с серией счетов-фактур и использует NFT для ссылки и торговли сертификатами собственности, связанными с товарами и сырьевыми товарами.

    В этом примере LDAP используется для поиска и индексации корпоративных имен и ключей идентификации, связанных с ними, посредством сертификата X.509, подписанного центром сертификации (CA). Note что мы начнем рассматривать пример раздел за разделом, и когда я это сделаю, код будет связан в файлах, которые можно загрузить. Образы Google (NASDAQ: GOOGL) среда совместной лаборатории будет подключаться к исходному коду. Различные области потребуют обновления, чтобы код мог включать все изменения, необходимые для реализации в существующих системах. При необходимости лицу, загружающему файлы, будет предоставлено право реализовать любые другие библиотеки, используемые в локальном приложении, с которым оно интегрировано.

    Note что я сделал несколько предположений относительно любых существующих систем, с которыми это будет работать. Аналогичным образом, доступ к ключам с серверов LDAP и преобразование их в адреса BSV, использование TXID для номеров коносаментов и т. д. требует детального знания существующих систем и сложных криптографических операций, которые должны быть настроены в соответствии с индивидуальными потребностями бизнеса, реализующего решение.

    Отсюда нам нужно рассмотреть подключение к серверу LDAP. Соединение может быть выполнено с использованием различных методов аутентификации и может включать имя пользователя и пароль, как показано на рисунке ниже (Код 2). В качестве альтернативы соединение может быть основано на методологии аутентификации на основе цифрового сертификата или токена (Код 3).

    LDAP-соединения

    Код 2 — LDAP-соединения

    Не все серверы LDAP поддерживают аутентификацию на основе сертификатов с использованием внешнего механизма Simple Authentication and Security Layer (SASL) (Zeilenga & Melnikov, 2006), который заставляет сервер определять личность авторизации на основе представленного клиентом сертификата во время успешного рукопожатия SSL/TLS. . В качестве альтернативы могут использоваться другие формы аутентификации на основе сертификатов. Например, в следующем посте я покажу, как использовать биткойн-адрес в качестве токенизированной формы аутентификации, что выходит за рамки этого поста.

    Соединения LDAP на основе сертификатов

    Код 3 — LDAP-подключения на основе сертификатов

    Создание NFT для наших товаров

    Системы невзаимозаменяемых токенов (NFT) не обязательно должны представлять предметы обмена, но могут быть средством создания рынка продуктов и ссылок на предметы, которые упоминались в первоначальном выпуске Биткойн под рынком. Предоставленный пример коносамента (код 4) отчеканен в NFT (код 5), который может быть передан по мере перемещения товаров или даже в случае продажи товаров в пути.

    Класс коносамента

    Код 4 – Класс коносамента

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

    Со всей этой информацией мы теперь можем создать токен GoodNFT, который производитель товаров будет использовать для создания приложения токена. Важно отметить, что для метода from_nft я использовал макет utxo_from_nft функция, которая возвращает смоделированный вывод неизрасходованной транзакции (UTXO). Когда вы реализуете такую ​​функцию в реальном приложении доставки, вы замените ее своей функцией, которая запрашивает набор UTXO для UTXO, представляющего NFT. В реальном кодировании также необходимо будет добавить обработку ошибок.

    NFT, представляющий свидетельство о праве собственности, прикрепленное к товару

    Код 6 – NFT, представляющий свидетельство о праве собственности, прилагаемое к товару.

    Note что используемая информация может быть расширена. Я создал простой набор определений в словарях данных, которые могут быть более подробными, включая серийные номера, если это необходимо. Ссылка на распределенную хеш-таблицу (DHT) также может предоставить дополнительную информацию, которая ссылается на конкретный элемент. Одна область, такая как метки и номера, может быть расширена для включения индивидуальных идентификаторов для каждого элемента. Примером может быть значение, относящееся к конкретному телефону, если было продано несколько телефонов.

    Внедрение токенов в Salesforce

    В этом примере я не буду вдаваться во все подробности создания кошелька. По мере того, как я просматриваю примеры каждую неделю, информация, которую я предоставляю, постепенно приводит к достаточному количеству информации для выполнения каждого этапа, но за один раз можно сделать не так много. Кроме того, хотя я хотел бы увидеть другие методологии, включая базы данных «ключ-значение», теперь мы будем использовать широко распространенные методы при доступе к узлу Биткойн (BSV), включая такие библиотеки, как bsv или moneybutton/bsv.

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

    Загрузите NFT в SalesForce

    Код 7 — Загрузите NFT в SalesForce

    Далее мы начнем добавлять код для обработки подписей каждой стороны, участвующей в коносаменте.

    Коносамент должен быть подписан

    Код 8. Необходимо подписать коносамент

    Затем мы можем приступить к реализации кода подписи.

    Подписание коносамента

    Код 9 – Подписание коносамента

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

    Файл VISUAL STUDIO C++ для чтения кода в текст

    Code 10 — файл VISUAL STUDIO C++ для чтения кода в текст

    В целом, создание такой системы состоит из нескольких этапов. Во-первых, потребуется разработать систему, которая отслеживает сеть или участвует в обмене упрощенной проверкой платежей (SPV) между отдельными лицами. Затем, в ближайшие недели и месяцы, появится документ о полном решении для кошелька, которое можно построить, используя все это. Идея здесь состоит в том, чтобы постепенно научить вас создавать систему, которая будет чеканить продукт от производителя и присваивать ему сертификат владения NFT. При этом я начну документировать, как создать правильное приложение-кошелек SPV, которое можно использовать для приема заголовков, создаваемых майнерами (или узлами) в сети, и как его можно реализовать с помощью Биткойн при создании реальных решений.

    Один пример, который мы могли бы извлечь отсюда, — это взять файл, сохраненный в «Код 10», и отправить его в приложение EDI. Но, как и все кодеры, я ленив. Используя GoodNFT, который я только что разработал, мы возьмем переданную нами информацию NFT и отправим ее в документ EDI Ship Notice/Manifest. Для тех, кто не знает, библиотеку pyx12 можно использовать для создания документа EDI 856. EDI имеет строгие стандарты. Поэтому важно убедиться, что при создании документа EDI 856 с данными из нашего GoodNFT мы правильно сопоставляем все значения. Это будет означать, что информация из источника была введена правильно и производитель следует стандартам.

    В примере документа EDI 856, показанном ниже, я предполагаю, что временная метка блока и сведения о транзакции ссылаются на время расчета в транзакции. Я слышал, что среднее время расчетов для реальных приложений составляет десять минут. Таким образом, хотя время отдельных транзакций может быть связано с NTP, этого достаточно для того, что я предоставляю бесплатно.

    ЭОД из биткойнов

    Код 11 — EDI из биткойнов

    Эта информация позволяет нам создавать счета и заказы на покупку в Salesforce (код 12).

    Назад в Salesforce

    Код 12 — вернуться в Salesforce

    Но это все, чем я занимаюсь сегодня вечером. Итак, чтобы закончить, я быстро объясню коносамент и отмечу различные требования к такому документу. Тем не менее, как вы могли догадаться из раздела EDI, по-прежнему важно отметить, что это сложная область, требующая специальных знаний и большего, чем просто кодирование.

    Пояснения к коносаменту

    Коносамент (B/L) — это юридический документ, используемый в международной торговле для подтверждения получения товаров и предоставления подробной информации об отгрузке. Стандартные поля, которые обычно встречаются в коносаменте, включают следующее:

    1. Грузоотправитель: Информация о стороне или компании, которая отправляет товары.
    2. Грузополучатель: информация о стороне или компании, получающей груз.
    3. Перевозчик: информация о перевозчике или транспортной компании, ответственной за перевозку товара.
    4. Уведомить сторону: Необязательное поле для указания третьей стороны, которая должна быть уведомлена о прибытии или статусе товаров.
    5. Порт погрузки: название порта, в котором товары загружаются на судно.
    6. Порт разгрузки: название порта, в котором товары будут выгружены с судна.
    7. Судно/рейс: сведения о названии судна и номере рейса определяют конкретное судно и рейс, которым будут перевозиться товары.
    8. Номер коносамента: уникальный идентификатор, присвоенный коносаменту для справки и отслеживания.
    9. Описание товаров: подробное описание отправляемых товаров, включая тип товаров, количество, вес, упаковку и любые специальные инструкции или требования к обращению.
    10. Знаки и номера: Уникальные маркировки или этикетки на упаковке или контейнерах, используемые для идентификации и отслеживания товаров.
    11. Вес брутто/вес нетто: общий вес товаров, включая вес упаковки (вес брутто) и вес самих товаров (вес нетто).
    12. Измерение: Размеры или размер груза, включая длину, ширину и высоту.
    13. Транспортные расходы: Информация о транспортных расходах, связанных с доставкой, включая валюту и условия оплаты.
    14. Инкотермс: Международные коммерческие условия (Инкотермс), определяющие права и обязанности покупателя и продавца в отношении отгрузки и доставки товаров.
    15. Дата отгрузки: Дата погрузки товара на судно.
    16. Подпись: Подписи уполномоченных представителей грузоотправителя, перевозчика и грузополучателя, подтверждающие их согласие с условиями коносамента.

    Это часто используемые поля в коносаменте, но точный формат и партии могут различаться в зависимости от конкретных требований судоходной компании или торговой практики в разных странах. Note что этот пост в блоге не является окончательным решением для всех возможных результатов. Более того, некоторые разделы описания товаров, включенные в наш GoodNFT, могут быть расширены и включать следующее:

    1. Тип товаров: укажите характер или тип отправляемых товаров, таких как электроника, текстиль, машины, скоропортящиеся товары, опасные материалы и т. д. Эта информация помогает определить соответствующие требования к обращению и хранению.
    2. Количество: Укажите количество отгружаемого товара. Это может включать количество единиц, упаковок, поддонов или контейнеров.
    3. Вес: Укажите вес товара, который может включать вес брутто (общий вес товара и упаковки) и вес нетто (вес товара без упаковки). Это помогает в определении транспортных расходов и обеспечении соблюдения ограничений по весу.
    4. Упаковка: Опишите упаковку, используемую для хранения товаров, например картонные коробки, бочки, ящики или поддоны. При необходимости укажите любые специальные инструкции по упаковке.
    5. Размеры: если применимо, укажите размеры груза, такие как длина, ширина и высота. Эта информация помогает в распределении пространства и определении совместимости с транспортным оборудованием.
    6. Метки и номера: укажите любые уникальные метки, числа или этикетки, связанные с упаковкой или контейнерами. Эти маркировки идентифицируют и отслеживают товары по всей цепочке поставок. В нашем примере мы будем постепенно интегрировать их, чтобы обеспечить глобальную систему отслеживания, которая отслеживает логистические товары. Но, это только первый пост.
    7. Особые инструкции: Если существуют какие-либо особые инструкции или требования по обращению с товарами, такие как контроль температуры, вентиляция, ограничения по штабелированию или обращение с хрупкими товарами, их следует четко указать.
    8. Коды Гармонизированной системы (ГС): Включите соответствующие коды ГС, которые классифицируют товары на основе международно признанных систем кодирования. Коды ГС облегчают таможенную очистку и обеспечивают точную категоризацию товаров для нормативных и статистических целей.

    Кроме того, обратите внимание, что я не включил никаких таможенных данных, которые необходимо было бы указать в окончательном коде.

    Загрузите соответствующий код в виде файла ZIP/RAR здесь.

    Рекомендации
    Уилсон, К.Б., Карг, А., и Гадери, Х. (2022). Поиск невзаимозаменяемых токенов в цифровой экономике: заинтересованные стороны и экосистема, риски и возможности. Деловые горизонты, 65(5), 657–670. https://doi.org/10.1016/j.bushor.2021.10.007
    Зейленга, К., и Мельников, А. (2006). Простая аутентификация и уровень безопасности (SASL) (Запрос комментариев RFC 4422). Инженерная рабочая группа Интернета. https://doi.org/10.17487/RFC4422



    Вознаграждение до $580 за регистрацию на Bybit!
    Бонус до 4000$ за пополнение на Bitget!

    Предыдущая статьяЭксперты предупреждают об исчезновении ИИ, если не принять меры сейчас
    Следующая статьяGoogle выпускает серьезное предупреждение для всех пользователей Android TV
    Crypto Bun
    Crypto Bun - это писатель, увлеченный миром криптовалют и их потенциалом революционизировать способ совершения сделок и обмена ценностями. Он всегда следbт за последними событиями в этой сфере и стремbтся поделиться своими знаниями с другими. Будь то статьи, посты в блогах или сообщения в социальных сетях, он постоянно находит новые и увлекательные способы рассказать о захватывающем мире криптовалют. От технических деталей технологии блокчейн до потенциальных социальных и экономических последствий принятия криптовалюты - криптоэнтузиаст всегда готов глубоко погрузиться в тему и поделиться своими мыслями с другими.