https://docs.atomicals.xyz/collection-containers/dmint-guide
dmint 中,一个 NFT collections,被称为 containers(容器)
一个完整的 dmint 项目发布流程如下:
准备好要发布的 container 数据
配置 container
验证 NFT item
铸造 NFT item
准备一个包含所有原始 NFT 文件(图像)的文件夹,文件名仅支持数字、英文和连字符(-),不能以连字符开头,最大长度为 64 个字符
本文例子 container 为 1nterests,NFT 文件名分别为 1nterest-1.png、1nterest-
2.png、1nterest-3.png

运行命令以生成所有 NFT 的处理数据:
yarn cli prepare-dmint-items "path/to/collection-folder" "path/to/output-folder"
"path/to/collection-folder" 为 NFT 图片文件夹路径
"path/to/output-folder" 为 处理后的输出路径

得到一个带有时间戳,包含每个 NFT 的单独 item-*.json 文件

请注意,此时生成的数据仅包括 mainHash 和 data 字段。如有必要,可以在 args 中指定 bitworkc / bitworkr ,修改后,用户将被要求在铸造过程中使用声明的位

执行以下命令,生成 dmint 数据:yarn cli prepare-dmint "path/to/folder" 0 "b1d0"
"path/to/folder" 是上一步生成的 文件路径
0 为用于铸造的起始块高度(值为 0 时,表示可以在部署后立即进行铸造)

生成了一个名为 dmint-1701345288753.json 的文件

去官方 github 复制一份 metadata,并根据自己的需求来更改
可根据自己需求定义内容:

此时,已经准备好了要部署的所有数据
铸造指定的 container,如果要指定其他接收地址,请将 “yourWalletAddress” 替换为相应的钱包地址(完成这一步后,需要等待 4 次区块确认)
yarn cli mint-container "#container-name" --initialowner "yourWalletAddress" --satsoutput=1000 --bitworkc="b6cf" --satsbyte=1
用之前生成的 dmint-timestamp.json 将 container 的状态变为 enable 可用
yarn cli enable-dmint "#container-name" "dmint-json-path.json" --satsbyte=1
设置 container 的 logo
yarn run cli store-file "path/of/your_logo.png" "logo.png" --satsbyte=1

完成后,将文件名和 dataId 拼接到 metadata:
atom:btc:dat:{dataId}/logo.png

设置元数据到 container:
yarn cli set-container-data "#container-name" "path/to/container-dmint-metadata.json" --satsbyte=1
最后密封 container
yarn cli seal "#container-name" --satsbyte=1
若要验证特定项是否有效,需要 container 的名称、项的名称以及在准备集合数据中生成的 JSON 文件
yarn cli validate-container-item "#container-name" "test-item-3" "path/to/item-3.json"
结果将返回以下内容。如果 proof_valid 是 true ,则表示验证成功

❗ 建议对每个项目进行验证,以确保所有数据的有效性。
容器发布后,用户可以使用命令行工具铸造相应的 NFT,前提是他们有权访问该项目的 json 文件
yarn cli mint-item "#container-name" "item-name" "path/to/item-name.json" --satsbyte=1
yarn cli get-container-item "#container-name" "test-item-4"
limit 指定查询项目数量,offset指定查询起点
yarn cli get-container-items "#container-name" limit offset
