# BTC链上也能自主发币了？带你了解brc-20协议

By [熊猫撸白.nft](https://paragraph.com/@fomoplz) · 2023-03-09

---

自从Ordinal协议横空出世以来，就不断地有人在此基础上搞事情。这不，在今天下午，有个叫“domo”的小哥发了一条推特说，“我基于ordinal协议开启了一个对于BTC上同质化代币发行的实验，就叫它‘brc-20’“，并且发行了第一个代币叫”ordi“,总量2100万个（致敬btc),人人都可免费领取，每次可以领取1000个，接下来我会教你怎么领取这个代币，在文末我也会谈一谈我对于ordinal生态发展的一点思考。

![](https://storage.googleapis.com/papyrus_images/24b4b932758d27cee97aa62a3579a53a98be62fb10748988874deabbdd195c8b.png)

BRC-20协议原理
----------

首先点击下面网址进入官网：

[

brc-20 | brc-20 experiment
--------------------------

Read every word if you decide to test. These will be worthless. Use at your own risk.

https://domo-2.gitbook.io

![](https://storage.googleapis.com/papyrus_images/9100d19adc76d30f26f8e338eb06f33b08d8a6a95682c77a3e4e542c0145e199.png)

](https://domo-2.gitbook.io/brc-20-experiment/)

整个协议的核心就下面三个方法：**部署代币，Mint代币和转移代币。**

![](https://storage.googleapis.com/papyrus_images/7e51cee1c6f8440bd8f2612d68aa7f55102fb4306597df5088bd5374f865c2bb.png)

上面所说的每个"方法"对于的是一种铭文，如果不清楚什么是铭文的，可以去看我之前写的这篇文章：

[https://mirror.xyz/fomoplz.eth/DYG1dtvl7db\_VGW4Clt\_Fc0KrpHhSrFqZ2UeHAiXEfA](https://mirror.xyz/fomoplz.eth/DYG1dtvl7db_VGW4Clt_Fc0KrpHhSrFqZ2UeHAiXEfA)

### 部署代币

我们就以部署一个代币为例，你只需要按照下面的格式写入一个txt文本,你只需要修改三个地方，第一个是将"ordi"改成你自己的代币的名称，比如"panda",第二个是修改代币的最大供应量，将"21000000"改成任意数量，比如"100000000",最后一个需要修改的是别人来mint这个代币，一次交易可以mint的最大数量，可以将"1000"修改为"10000"等等。

![](https://storage.googleapis.com/papyrus_images/dc715b067c5a70693ca53d300cba75dda9c44982a30d9ccb39b4b2f7eaf1a4f9.png)

那么最终的一个自定义代币的发行格式就会像下面这个样子,保存好之后，铸造成铭文就可以成功发行了，而且代币发行采取"先到先得"的方式，也就是说别人先发行了叫"panda"的代币，然后你再取了同样的名字，即使修改了发行数量，应该也是不可以的（我的理解）。

    { 
      "p": "brc-20",
      "op": "deploy",
      "tick": "panda",
      "max": "100000000",
      "lim": "10000"
    }
    

### Mint代币

接下来就是别人想要铸造你刚才发行的"panda"代币该怎么操作，原理同上，按照下面的格式修改，然后铸造成铭文即可。需要修改的是将"panda"改成其他你想铸造的代币的符号，第二个将铸造的数量1000改成你想要的数量，但是不得超过上面部署代币时设置的每笔交易可以铸造的最大数量，比如panda代币设置的10000。

    { 
      "p": "brc-20",
      "op": "mint",
      "tick": "panda",
      "amt": "1000"
    }
    

**还有一点特别要注意，有一些第三方铸造铭文的工具，采取的有可能是先铸造到自己的钱包，然后转移到你的账户，这样的话Mint出来的代币余额是记录在他们的钱包里的。**

### 转移代币

最后要讲的就是正规的代币转账流程：

第一步需要按照下面的格式铸造铭文,"panda"修改成你要发送的代币的符号,100修改成你要发送的数量，数额不能大于你的账户余额，“to”后面修改成你要发送的地址，“to”和"fee"字段不是必须的，它们是用于测试前端追踪数额变化的。

**第二步需要将你刚才铸造的铭文发送到你要转账的地址，这一步很重要，这一步才是余额变化的关键步骤**

其实你可以把整个过程想象成你给别人写了一张带有一定额度的支票，然后把支票送给了别人。

    
    { 
      "p": "brc-20",
      "op": "transfer",
      "tick": "panda",
      "amt": "100",
      "to": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
      "fee": "1337"
    }
    

### Dune面板

为了去跟踪代币发行和Mint的情况，我们需要一个前端页面来查看，目前还没有比较完善的网页，作者建立了一个Dune面板用于跟踪，不过，测试下来发现延迟非常严重，链接如下：

[https://dune.com/domo/ordinals-brc-20-experiment](https://dune.com/domo/ordinals-brc-20-experiment)

### 总结：

以上就是整个协议的要点提炼，接下来再谈谈我对整个ordinal协议的理解。

今天下午这个协议的出现，我自己觉得我对ordinl协议有了更深的理解。当ordinal刚出现时，由于其确权的功能，市场普遍把它当作NFT来炒。但是最近越来越多的协议出现，包括前两天的sats域名，让我越来越觉得，比特币作为底层的数据存储，而铭文作为承载这些应用协议的容器，整个ordinal协议应该看作是协议层，而非是应用层。所以这也是为什么ordinal的作者casey称它为铭文而非NFT。

对于今天的这个代币发行协议我觉得还有很多问题待解决：

第一个就是如何将链上的数据及时更新。

第二个就是需要建立一个前端来用于二级交易，不可能每次交易都让用户自己重新去铸造一个铭文 。

第三个就是在btc一层上去进行转账太慢，流动性如何保证，竞价机制如何设立。

还有等等其他问题。

最后欢迎添加下方二维码，备注“Brc20”，进入免费交流群。

![](https://storage.googleapis.com/papyrus_images/1fdcad0276cec05abee3585439ad4bbdfe3f37a26991bd585ba321ec61cded82.png)

---

*Originally published on [熊猫撸白.nft](https://paragraph.com/@fomoplz/btc-brc-20)*
