
不得不感慨,“币圈一天,人间一年” 这句话不是白叫的。web3的创新速度快地惊人。距离Brc-20协议发布仅两天之后,就有另外一位Hirosystem的开发者Hugo受其启发并提出了一个改进版的协议BOP(Bitcoin ordinals protocols,比特币序数协议)。
该协议同样也是实验性质的,brc-20协议的作者对其也表示了认可,并转发了推文。“改进brc20协议”就像接力棒一样在一个个开发者手中传递下去。(注:Hiro是一个帮助在比特币二层网络stacks上构建智能合约的基础设施)

BOP的由来
Hugo发明BOP协议是基于一次对于brc-20协议的讨论,有人提出了质疑,“任何有意义的同质化代币协议都不应该使用JSON格式”(不清楚brc-20协议格式的,可以查看《BTC链上也能自主发币了?带你了解brc-20协议》),理由是:“作为底层协议,我们可以铭刻任意字节,json虽然提高了可读性,但是同时也增大了铭文的体积,第三方服务读取数据时,无需考虑协议的可读性,我们需要一个更加轻量的协议”。于是,Hugo受此启发,就创作了BOP协议

BOP的协议的格式
作者已经将第一版草案制作成铭文永久刻在了区块链上,编号是#420142

当我看到的第一眼,心里直呼:“好家伙好家伙,这是个啥?”,第二眼能看懂但又没完全看懂,接下来让我带大家一步一步拆解这个协议。
#d declare/deploy/describe 声明一个协议
0 协议的ID号
bft 协议名,bitcoin fungible token
#d.0.bft的意思就是声明一个ID为0,名称为bft的代币标准,并且以后使用同样ID号或者名称的协议都会被忽略。
从第二行开始就声明了bft协议的发行标准,包括deploy,mint 和 transfer三个方法声明。
首先来看方法0:deploy
0:deploy 方法0:部署
& 参数声明符
//以下均为deploy方法的参数
unit:id 代币ID号,无符号整数类型,必须
word:name 协议名,单词类型,支持小写字母,数字字符和下划线,必须
uint:?max 代币最大供应量,无符号整数类型,?代表可选,非必须
uint:?limit 每个铭文可铸造的最大数量限制,无符号整数型,非必须
接下来再来看方法1:mint
1:mint 方法1:铸造
& 参数声明符
//以下均为mint方法的参数
uint:id 代币ID号,无符号整数型,必须
uint:?amount 铸造的代币数量,无符号整数型,如果被省略,
则按照部署时设置的最大数量铸造,可选
方法2:transfer
2:!transfer 方法2:转移,前面的!号表示一次转移必须有效
可以使用addr?to做安全校验
& 参数声明符
uint:id 代币ID号,无符号整数型,必须
uint:amount 转移的数量,无符号整数型,必须
addr:?to 接收地址,比特币地址,可选
如果有过编程经验的朋友看到这里肯定会联想到初学编程时的**“函数声明”,函数声明的意思是给功能起名字和规定参数,方便在程序得其他地方直接调用。**有了“函数声明”,那必然就有“函数实现”,调用bop协议的过程称为"Call a BOP",都要以"#c"开头,接下来我将以作者发行的第一个代币"idro"作为例子进行讲解
部署idro
#c.0.0,调用ID号为0的协议(也就是上面的bft)的第0个方法(即部署方法)
0,idro这个代币的ID号,其他代币的ID号会递增
idro, 代币名称
21e12, 代币总量,一共是 21000000000000个
[[144,2048] ....[1728,1]],表示从部署的区块开始(区块高度780310)每隔144个区块,每次mint的数量减半,从2048开始,差不多每隔一天就会减半,
#c.0.0&
0,
idro,
21e12,
[
[144, 2048],
[288, 1024],
[432, 512],
[576, 256],
[720, 128],
[864, 64],
[1008,32],
[1152,16],
[1296,8],
[1440,4],
[1584,2],
[1728,1]
]
以下是代币减产表,可以根据当前的区块高度算出每次可以mint的最大数量

铸造idro
下一步就是大家最关心的如何铸造的问题,铸造的代码很短,就一行
#c.0.1 调用ID号为0的协议(也就是上面的bft)的第1个方法(即铸造方法)
0,idro这个代币的ID号
这里缺省了数量,会根据当前区块高度按照最大的数量铸造,如果想要指定数量可以在后面添加数量,如一次铸造10个,"#c.0.1&0,10"
#c.0.1&0
还有两点特别值得注意:
1.在使用第三方铸造工具时,如果它是先mint到自己的内置钱包,然后再转移到你的钱包,代币的余额会保存在工具的钱包中,所以不能使用。
2.如果同一区块内发生两个余额变化事件,则费用较高的优先。因此,每个地址每个块只能实现 1 个铸币操作。所以不能使用同一个钱包批量铸造
在这里介绍一下我们国人团队开发的铸造工具unisat的使用方法:
输入网址:https://unisat.io/inscribe 来到主页,选择 "Text"

选择”Single“(单次铸造,旁边是批量铸造),粘贴文本 "#c.0.1&0" ,点击"Next"

粘贴自己的Taproot 钱包地址(bc1p开头),然后选择合适的费率,推荐使用“Normal”以上。

下拉到付款按钮,点击 “submit & pay invoice”

最后用你自己的钱包,向指定的地址付相应数量的btc即可。

转移idro
#c.0.2 调用ID号为0的协议(也就是上面的bft)的第2个方法(即转移方法)
0,idro这个代币的ID号
100,转移的代币数量
将该文本铸造成铭文之后,并且发送到要转移的地址即可。
#c.0.2&0,100
和ERC20对比
说到代币标准,那么不可避免地会提到以太坊上的代币标准erc20,这是由Fabian Vogelsteller 于2015年11月提出的标准,主要包括名称、符号、总供给量、账户余额和转移等方法。
function name() public view returns (string)
function symbol() public view returns (string)
function decimals() public view returns (uint8)
function totalSupply() public view returns (uint256)
function balanceOf(address _owner) public view returns (uint256 balance)
function transfer(address _to, uint256 _value) public returns (bool success)
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)
function approve(address _spender, uint256 _value) public returns (bool success)
function allowance(address _owner, address _spender) public view returns (uint256 remaining)
总结
整个btc上的同质化代币协议还处于设想阶段,我们没有办法确认哪一个协议最终会被认可,但我们能做的是一直跟随生态的发展,一直到一套完整的解决方案出现。如果还有其他问题,欢迎添加下方微信备注“bop”进群。

** **

Meme币炒作进阶教程:gmgn扫链教学
上一篇文章介绍了pepeboost的使用教程,没有看过的可以去看一下: https://mirror.xyz/fomoplz.eth/4bIJAoVCAEacQaS-LO6ZWwedPB0Of9PAVxstHjMzc24 这种tg bot对于没有时间盯盘,经常使用手机操作的朋友还是非常的方便和高效的。但是我们经常在推上看到那种三十分钟就赚几十几百倍的晒单,这种一般都是整天坐在电脑前盯盘,在pump内盘或者刚开盘极低市值就买入的。这种情况单靠我们刷推特肯定是来不及的,所以需要一个非常称手的扫链工具。 今天我给大家介绍的是我一直在用的一款扫链工具:gmgn,之所以推荐这款工具,是因为相比于其他扫链工具,gmgn更像一个集扫链,交易bot,聪明钱监控,钱包分析等工具于一体的超级终端。 因为现在是pumpdotfun的天下,所以今天介绍的扫链教程是sol链的内盘盯盘,其他链的分析方法类似,读者可以举一反三,接下来让我们开始吧。登陆官网首先点击下方链接: https://gmgn.ai/?ref=VZPjm0BA&chain=sol 点击右上角的连接,有两种登陆方式: 第一种是“连接tel...

手把手教你用Windows搭建BTC全节点铸造铭文
前几天刚写了linux搭建全节点的教程,不过云服务器搭建门槛稍高,应读者要求,今天再来写一篇windows搭建全节点铸造铭文的教程,这篇教程适用于没有技术背景的小白,我会详细到每一个步骤,我相信每个人都能拥有一个属于自己的全节点(需要准备一个1T存储以上的固态硬盘)。 搭建步骤:BitcoinCore客户端安装全节点数据同步Ord钱包安装索引区块铸造铭文BitcoinCore客户端安装直接点击链接https://bitcoincore.org/en/download/ 来到客户端的下载页面,点击蓝色按钮,下载最新的版本。下载完成后打开安装程序,点击"Next"下一步就是选择安装目录,可以使用默认的安装路径,也可以点击“Browser“自定义安装路径。选择好之后,继续点击"next"。等待安装完成,最后点击finish即可。接下来的两步比较关键,首先要选择存放区块数据的目录,需要大于502GB的存储空间,这里点击后面的”...“按钮,选择1T的固态硬盘所在的目录,比如”E:\BtcData“, 其次就是不能勾选下方箭头所指的”勾选框“,如果勾选上就代表使用裁剪模式,而铸造铭文必须使...

【收藏】耗费8个小时我从OpenSea官方文档中我总结了这些常用的功能!!
在正式讲解OpenSea的使用方法之前,我们要先简单介绍一下OpenSea,OpenSea于2017年12月20日被Devin Finzer和Alex Atallah在美国纽约创立,目前是全球最大的NFT交易市场,网址是: https://opensea.io/zh-CN一、主界面介绍OpenSea的前端页面是经常变化,但是我们主要关注导航栏的一些功能就好,主要分为以下几个部分:1.搜索框 2.探索 3.统计信息 4.资源 5.创建 6.账户管理 7.钱包管理 8.批量购买,所有功能的简介我已经在下图标注出来了二、子界面介绍上面说的几个功能不会全部介绍,自己点一点看一看就明白了,我主要讲一些常用的功能和需要注意的地方。搜索搜索之后有蓝标的认准蓝标即可像这种还没有蓝标的项目,搜索关键字可以搜到很多仿盘,一定要核实一下数量,地板价,合约等关键信息。统计信息统计信息就是OpenSea用了一些指标帮助用户了解在一定时间段内哪些项目比较火热。不过,我个人感觉有些指标没有什么参考价值,比如像CryptoPunks这类大蓝筹项目,卖出几个,交易量就排在前面了,常年霸榜。而且对于我们玩一级的来说...
NFT小白手把手教学,项目白单对接

不得不感慨,“币圈一天,人间一年” 这句话不是白叫的。web3的创新速度快地惊人。距离Brc-20协议发布仅两天之后,就有另外一位Hirosystem的开发者Hugo受其启发并提出了一个改进版的协议BOP(Bitcoin ordinals protocols,比特币序数协议)。
该协议同样也是实验性质的,brc-20协议的作者对其也表示了认可,并转发了推文。“改进brc20协议”就像接力棒一样在一个个开发者手中传递下去。(注:Hiro是一个帮助在比特币二层网络stacks上构建智能合约的基础设施)

BOP的由来
Hugo发明BOP协议是基于一次对于brc-20协议的讨论,有人提出了质疑,“任何有意义的同质化代币协议都不应该使用JSON格式”(不清楚brc-20协议格式的,可以查看《BTC链上也能自主发币了?带你了解brc-20协议》),理由是:“作为底层协议,我们可以铭刻任意字节,json虽然提高了可读性,但是同时也增大了铭文的体积,第三方服务读取数据时,无需考虑协议的可读性,我们需要一个更加轻量的协议”。于是,Hugo受此启发,就创作了BOP协议

BOP的协议的格式
作者已经将第一版草案制作成铭文永久刻在了区块链上,编号是#420142

当我看到的第一眼,心里直呼:“好家伙好家伙,这是个啥?”,第二眼能看懂但又没完全看懂,接下来让我带大家一步一步拆解这个协议。
#d declare/deploy/describe 声明一个协议
0 协议的ID号
bft 协议名,bitcoin fungible token
#d.0.bft的意思就是声明一个ID为0,名称为bft的代币标准,并且以后使用同样ID号或者名称的协议都会被忽略。
从第二行开始就声明了bft协议的发行标准,包括deploy,mint 和 transfer三个方法声明。
首先来看方法0:deploy
0:deploy 方法0:部署
& 参数声明符
//以下均为deploy方法的参数
unit:id 代币ID号,无符号整数类型,必须
word:name 协议名,单词类型,支持小写字母,数字字符和下划线,必须
uint:?max 代币最大供应量,无符号整数类型,?代表可选,非必须
uint:?limit 每个铭文可铸造的最大数量限制,无符号整数型,非必须
接下来再来看方法1:mint
1:mint 方法1:铸造
& 参数声明符
//以下均为mint方法的参数
uint:id 代币ID号,无符号整数型,必须
uint:?amount 铸造的代币数量,无符号整数型,如果被省略,
则按照部署时设置的最大数量铸造,可选
方法2:transfer
2:!transfer 方法2:转移,前面的!号表示一次转移必须有效
可以使用addr?to做安全校验
& 参数声明符
uint:id 代币ID号,无符号整数型,必须
uint:amount 转移的数量,无符号整数型,必须
addr:?to 接收地址,比特币地址,可选
如果有过编程经验的朋友看到这里肯定会联想到初学编程时的**“函数声明”,函数声明的意思是给功能起名字和规定参数,方便在程序得其他地方直接调用。**有了“函数声明”,那必然就有“函数实现”,调用bop协议的过程称为"Call a BOP",都要以"#c"开头,接下来我将以作者发行的第一个代币"idro"作为例子进行讲解
部署idro
#c.0.0,调用ID号为0的协议(也就是上面的bft)的第0个方法(即部署方法)
0,idro这个代币的ID号,其他代币的ID号会递增
idro, 代币名称
21e12, 代币总量,一共是 21000000000000个
[[144,2048] ....[1728,1]],表示从部署的区块开始(区块高度780310)每隔144个区块,每次mint的数量减半,从2048开始,差不多每隔一天就会减半,
#c.0.0&
0,
idro,
21e12,
[
[144, 2048],
[288, 1024],
[432, 512],
[576, 256],
[720, 128],
[864, 64],
[1008,32],
[1152,16],
[1296,8],
[1440,4],
[1584,2],
[1728,1]
]
以下是代币减产表,可以根据当前的区块高度算出每次可以mint的最大数量

铸造idro
下一步就是大家最关心的如何铸造的问题,铸造的代码很短,就一行
#c.0.1 调用ID号为0的协议(也就是上面的bft)的第1个方法(即铸造方法)
0,idro这个代币的ID号
这里缺省了数量,会根据当前区块高度按照最大的数量铸造,如果想要指定数量可以在后面添加数量,如一次铸造10个,"#c.0.1&0,10"
#c.0.1&0
还有两点特别值得注意:
1.在使用第三方铸造工具时,如果它是先mint到自己的内置钱包,然后再转移到你的钱包,代币的余额会保存在工具的钱包中,所以不能使用。
2.如果同一区块内发生两个余额变化事件,则费用较高的优先。因此,每个地址每个块只能实现 1 个铸币操作。所以不能使用同一个钱包批量铸造
在这里介绍一下我们国人团队开发的铸造工具unisat的使用方法:
输入网址:https://unisat.io/inscribe 来到主页,选择 "Text"

选择”Single“(单次铸造,旁边是批量铸造),粘贴文本 "#c.0.1&0" ,点击"Next"

粘贴自己的Taproot 钱包地址(bc1p开头),然后选择合适的费率,推荐使用“Normal”以上。

下拉到付款按钮,点击 “submit & pay invoice”

最后用你自己的钱包,向指定的地址付相应数量的btc即可。

转移idro
#c.0.2 调用ID号为0的协议(也就是上面的bft)的第2个方法(即转移方法)
0,idro这个代币的ID号
100,转移的代币数量
将该文本铸造成铭文之后,并且发送到要转移的地址即可。
#c.0.2&0,100
和ERC20对比
说到代币标准,那么不可避免地会提到以太坊上的代币标准erc20,这是由Fabian Vogelsteller 于2015年11月提出的标准,主要包括名称、符号、总供给量、账户余额和转移等方法。
function name() public view returns (string)
function symbol() public view returns (string)
function decimals() public view returns (uint8)
function totalSupply() public view returns (uint256)
function balanceOf(address _owner) public view returns (uint256 balance)
function transfer(address _to, uint256 _value) public returns (bool success)
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)
function approve(address _spender, uint256 _value) public returns (bool success)
function allowance(address _owner, address _spender) public view returns (uint256 remaining)
总结
整个btc上的同质化代币协议还处于设想阶段,我们没有办法确认哪一个协议最终会被认可,但我们能做的是一直跟随生态的发展,一直到一套完整的解决方案出现。如果还有其他问题,欢迎添加下方微信备注“bop”进群。

** **

Meme币炒作进阶教程:gmgn扫链教学
上一篇文章介绍了pepeboost的使用教程,没有看过的可以去看一下: https://mirror.xyz/fomoplz.eth/4bIJAoVCAEacQaS-LO6ZWwedPB0Of9PAVxstHjMzc24 这种tg bot对于没有时间盯盘,经常使用手机操作的朋友还是非常的方便和高效的。但是我们经常在推上看到那种三十分钟就赚几十几百倍的晒单,这种一般都是整天坐在电脑前盯盘,在pump内盘或者刚开盘极低市值就买入的。这种情况单靠我们刷推特肯定是来不及的,所以需要一个非常称手的扫链工具。 今天我给大家介绍的是我一直在用的一款扫链工具:gmgn,之所以推荐这款工具,是因为相比于其他扫链工具,gmgn更像一个集扫链,交易bot,聪明钱监控,钱包分析等工具于一体的超级终端。 因为现在是pumpdotfun的天下,所以今天介绍的扫链教程是sol链的内盘盯盘,其他链的分析方法类似,读者可以举一反三,接下来让我们开始吧。登陆官网首先点击下方链接: https://gmgn.ai/?ref=VZPjm0BA&chain=sol 点击右上角的连接,有两种登陆方式: 第一种是“连接tel...

手把手教你用Windows搭建BTC全节点铸造铭文
前几天刚写了linux搭建全节点的教程,不过云服务器搭建门槛稍高,应读者要求,今天再来写一篇windows搭建全节点铸造铭文的教程,这篇教程适用于没有技术背景的小白,我会详细到每一个步骤,我相信每个人都能拥有一个属于自己的全节点(需要准备一个1T存储以上的固态硬盘)。 搭建步骤:BitcoinCore客户端安装全节点数据同步Ord钱包安装索引区块铸造铭文BitcoinCore客户端安装直接点击链接https://bitcoincore.org/en/download/ 来到客户端的下载页面,点击蓝色按钮,下载最新的版本。下载完成后打开安装程序,点击"Next"下一步就是选择安装目录,可以使用默认的安装路径,也可以点击“Browser“自定义安装路径。选择好之后,继续点击"next"。等待安装完成,最后点击finish即可。接下来的两步比较关键,首先要选择存放区块数据的目录,需要大于502GB的存储空间,这里点击后面的”...“按钮,选择1T的固态硬盘所在的目录,比如”E:\BtcData“, 其次就是不能勾选下方箭头所指的”勾选框“,如果勾选上就代表使用裁剪模式,而铸造铭文必须使...

【收藏】耗费8个小时我从OpenSea官方文档中我总结了这些常用的功能!!
在正式讲解OpenSea的使用方法之前,我们要先简单介绍一下OpenSea,OpenSea于2017年12月20日被Devin Finzer和Alex Atallah在美国纽约创立,目前是全球最大的NFT交易市场,网址是: https://opensea.io/zh-CN一、主界面介绍OpenSea的前端页面是经常变化,但是我们主要关注导航栏的一些功能就好,主要分为以下几个部分:1.搜索框 2.探索 3.统计信息 4.资源 5.创建 6.账户管理 7.钱包管理 8.批量购买,所有功能的简介我已经在下图标注出来了二、子界面介绍上面说的几个功能不会全部介绍,自己点一点看一看就明白了,我主要讲一些常用的功能和需要注意的地方。搜索搜索之后有蓝标的认准蓝标即可像这种还没有蓝标的项目,搜索关键字可以搜到很多仿盘,一定要核实一下数量,地板价,合约等关键信息。统计信息统计信息就是OpenSea用了一些指标帮助用户了解在一定时间段内哪些项目比较火热。不过,我个人感觉有些指标没有什么参考价值,比如像CryptoPunks这类大蓝筹项目,卖出几个,交易量就排在前面了,常年霸榜。而且对于我们玩一级的来说...
NFT小白手把手教学,项目白单对接
Share Dialog
Share Dialog

Subscribe to 熊猫撸白.nft

Subscribe to 熊猫撸白.nft
>100 subscribers
>100 subscribers
No activity yet