# 深入理解铭文（二）

By [大白话web3](https://paragraph.com/@daniel-ng) · 2024-02-02

---

**声明**

当你完成了BRC-20的mint之后，你是不是就以为自己可以交易了？当你在OK钱包中点击你的代币准备交易的时候，你会惊讶地发现：我亲手mint的代币，tm居然还不能转账？还有没有王法？

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

从人类能懂的逻辑来看，我铸造了2000个代币，那么这2000个代币就是我的了，我爱给谁给谁。没毛病吧？

OK钱包说，对不起，你mint的代币，关我transfer什么事？

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

带着这个问题，我们先接着往下走，我们先铭刻（Inscribe） 444个代币，这时候transferable数量变成了444个：

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

可以查看到这笔交易里携带了这个信息：

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

也就是说，我把444个代币转给了自己。这时候我的的UTXO集里包含了这两个UTXO：

1.  代表mint 2000个代币的铭文
    
2.  代表transfer 444个代币的铭文
    

完成了这个铭刻之后，再回到钱包中就可以发送这444个代币了。

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

发送的话很简单，就是把这个UTXO转出去就可以了。下面这笔转账的内容：

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

同理，我们可以把mint的这个铭文整体转出去。你可以这么理解，不管是mint还是transfer的铭文，他们都是一个“包含了n个代币”的NFT，而当我铭刻（inscribe）了444个代币的时候，这444个代币就是FT。

![参考自：https://twitter.com/hiCaptainZ/status/1752934168072441945](https://storage.googleapis.com/papyrus_images/fce82cc87e0af73771dbc337bea718a1fb8100080b6407463bd628b2fa9e5ac7.png)

参考自：https://twitter.com/hiCaptainZ/status/1752934168072441945

**市场交易**

除了转账之外，还接下来，我们把这444个MING list到unisat市场上。值得注意的是，list到市场上这个动作会做一个授权，但是不会上链。

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

我们用另一个账号买这444个代币，这笔交易的内容为（先忽略买家和卖家之外的第三个地址，最后会解释）：

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

看一下input的第三个UTXO的id，

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

可以看到这个txid，正是这个铭刻了transfer的id：

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

看到这里你可能会有疑问。在整个过程中，买方只进行了一次签名（没有上链），等到有人买了这个代币之后，就会实现“我把2000sats给你，你把1000sats给我”的交易。从结果上来看，买方在没有把交易上链，就完成了对“如果有人给我2000sats我就把这1000sats给他”这个行为的“授权”。我们知道，比特币中是没有智能合约的，只有转账。那么这个是如何实现的？

这就要提到比特币的PSBT签名。卖家先将自己要卖出的铭文所在utxo作为input，要得到的btc数量左右output签名，并将签名提交给平台，平台可以在签名上继续添加自己需要收取手续费的签名，然后买家从平台市场中获取到PSBT签名后，将自己需要支付价格的utxo作为input继续签名，然后将这一笔多方签名的交易广播出去。（[https://learnblockchain.cn/question/5309）](https://learnblockchain.cn/question/5309%EF%BC%89)

关于更多PSBT，可以参考这篇文章：

[https://zhuanlan.zhihu.com/p/637146505](https://zhuanlan.zhihu.com/p/637146505)

当你unlist的时候，就要把这个签名消耗掉（转给自己）

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

对应的就会有这两条数据，这4个代币从transferable变成available：

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

最后再来回答这笔交易中，除了买方和卖方之外，这个第三方的地址是什么：

[https://github.com/magicoss/msigner/blob/main/README.md](https://github.com/magicoss/msigner/blob/main/README.md)

**参考**

[https://www.fx168news.com/article/495327](https://www.fx168news.com/article/495327)

[https://foresightnews.pro/article/detail/36933](https://foresightnews.pro/article/detail/36933)

---

*Originally published on [大白话web3](https://paragraph.com/@daniel-ng/fdS800f9NAc2SpkzUnYj)*
