ARC20 代币

由聪(Satoshis)支持的同质化彩色币标准

Atomicals 协议解决了在 Bitcoin 区块链上表示任意可替代代币资产的长期存在的问题。 ARC-20 可替代代币标准最终为 Bitcoin 带来了彩色币,并使用每个 Satoshi 来代表已部署代币的所有权单位。这意味着每个单位的代币永远由 1 sat 支持。它充当一种支撑代币价值的“数字黄金含量”。这也意味着根据定义,每个代币的价值永远不会低于 1sat。

ARC-20 使用原生 Satoshi 单位来表示每个代币,它们可以像普通比特币一样拆分和组合。 ARC-20 代币可以由任何人铸造,并转移到任何比特币地址类型,并可与支持 UTXO 选择的钱包配合使用,例如 Sparrow Wallet。有两种部署模式:直接部署和分散部署。下面详细了解 ARC-20 的不同铸造方式及其优点。

ARC-20 还配备了内置代币名称服务,为代币名称提供全局唯一的名称系统。首次注册的代币名称是永久性的,不能再次使用。

去中心化铸造

去中心化是通过股票代码、每铸币奖励、允许的总铸币数、起始块高度和元数据来初始化的。部署者可以初始化一个股票代码,例如 $myticker123 ,并授予 1,000 单位的铸造奖励,总共允许 10,000 次铸造,并从区块高度 810,000 包含 image.jpg 甚至元数据,例如描述、链接和术语。

初始化(init-dft)

使用 Atomicals CLI 进行去中心化初始化的基本格式如下:

npm run cli init-dft <tick> <per_mint_amt> <mint_count> <start_height> <image> 

Optional flags:
--mintbitworkc=<prefix>
--meta=@metadata.json
--satsbyte=<number>

去中心化初始化函数 init-dft 使得 tick 只能从起始块高度 start_height 命令开始并允许最多 mint_count 次铸造。每次成功的铸造都会为铸造着奖励 per_mint_amt 个代币。有效总最大供应量为 per_mint_amt * mint_count

注意:在 tick 代码被声明之前,需要 3 个区块确认。您可以通过 npm run cli get <atomicalID>npm run cli find-tickers 查询状态

必须参数

tick: 全局唯一的代币名称

per_mint_amt: 每个成功铸造奖励的代币单位数量

mint_count: 在用完配额并且“完全铸造”之前的允许铸造次数

start_height: 铸造可能开始的起始高度,可以设置为0或任意未来的高度

image: 代表令牌的图像图标。文件名将出现在令牌中。请谨慎使用,首先将文件完全重命名,并将其包含为“image.jpg”或“image.png”

可选选项

--mintbitworkc=<prefix>

为铸造定义可选的 Bitwork 挖矿前缀。如果设置,则铸造者必须消耗 CPU 来找到前缀目标的匹配项,才能成功铸造。这迫使铸造者以与比特币挖矿本身类似的方式执行工作挖矿证明。

建议选择 4 到 6 个十六进制数字之间的前缀。您可以在 a-f0-9. 之间使用任何有效的十六进制数字。它纯粹是一个交易 ID,任何值都足以要求铸币者花费精力来铸币。

铸造者所需时间的示例时间估计:

注意:它可以是 a-f0-9 范围内的任何数字,我们使用所有 7's 仅用于说明目的。

  • 3 个 hex 前缀 "777" 大约需要 4s 来开采;

  • 4 个 hex 前缀 "7777" 大约需要 1min 来开采;

  • 5 个 hex 前缀 "77777" 大约需要 16min 来开采;

  • 6 个 hex 前缀 "777777" 大约需要 256min 来开采;

--meta=@metadata.json

在令牌中定义可选的元数据详细信息。建议使用的格式遵循约定 sample-ft-meta.json

{
    "name": "",
    "description": "",
    "decimals": 0,
    "links": {
    },
    "legal": {
        "terms": ""
    },
    "issuer": {
    }
}

元数据中的任何字段都不是必需的,并且可以采用任何形状和形式,只要它是有效的 JSON 对象即可。但是,建议至少提供名称、描述和法律,以告知令牌的用户其性质。

--satsbyte=<number>

设置交易的每字节所消耗的聪,并覆盖默认值

铸造(mint-dft)

使用 Atomicals CLI 的去中心化铸币厂的基本格式如下:

npm run cli mint-dft <tick>

Optional flags:
--satsbyte=<number>

去中心化铸币功能 mint-dft 允许从区块高度 start_height 开始铸造代币 tick

必须参数

tick: 全局唯一的代币名称

可选参数

--satsbyte=<number>

设置交易的每字节所消耗的聪,并覆盖默认值

直接铸造

铸造或创建 ARC-20 代币类型的第二种方法是直接创建包含总供应量的单个输出,每个聪代表代币的一个单位。

一次性完全铸造

npm run cli mint-ft <tick> <total_supply> <image.jpg>

Optional flags:
--satsbyte=<number>
--meta=@metadata.json

铸造或创建 ARC-20 代币类型的第二种方法是直接创建包含总供应量的单个输出,每个 Satoshi 代表代币的一个单位。

例如,要铸造供应量为 100,000,000 的代币,只需创建一个恰好包含 1 个完整比特币的输出(因为 1 BTC = 100,000,000 聪)。使用直接铸造模式的一个优点是,创建该模式的团队必须提供所需数量的比特币来证实铸造的总供应量;这大大减少了不诚实的行为者凭空打印代币的情况。

当团队或公司希望保持对初始分配的控制并决定如何在稍后的时间点使用代币时,直接铸造 ARC-20 是理想的选择。

注意:在 tick 代币被声明之前,需要 3 个区块确认。可以通过 npm run cli get <atomicalID>npm run cli find-tickers 查询状态

必须参数

tick: 全局唯一的代币名称

total_supply: 直接铸造的总供应量

start_height: 铸造可能开始的起始高度,可以设置为0或任意未来的高度

image: 代表令牌的图像图标。文件名将出现在令牌中。请谨慎使用,首先将文件完全重命名,并将其包含为“image.jpg”或“image.png”

可选参数

--satsbyte=<number>

设置交易的每字节所消耗的聪,并覆盖默认值

--meta=@metadata.json

在令牌中定义可选的元数据详细信息。建议使用的格式遵循约定 sample-ft-meta.json

{
    "name": "",
    "description": "",
    "decimals": 0,
    "links": {
    },
    "legal": {
        "terms": ""
    },
    "issuer": {
    }
}

元数据中的任何字段都不是必需的,并且可以采用任何形状和形式,只要它是有效的 JSON 对象即可。但是,建议至少提供名称、描述和规则,以告知令牌的用户其性质。

⚡ 开始铸造你的第一个原子数字对象

下载并安装 Atomicals Javascript CLI 工具,然后按照快速入门说明在两分钟内创建您的 NFT、合集或 Realm 名称。

Last updated