首页 >>  正文

制作json文件

来源:baiyundou.net   日期:2024-09-20

本条将介绍 #Atomicals的#Dmint更新,并向你介绍如何将 POW 用于 BTC 资产发行的新玩法。

Atomicals 协议更新了的 NFT 铸造方法 Dmint,并在设计中大量引入了类比特币 POW 挖矿的 Bitwork。

这非常地符合比特币文化,也戳中了社区的兴奋点,因为下载安装环境的人太多,甚至一度将 Atomicals 的 github 代码库热度送上了总榜第十一。

那么,什么是 Dmint ?为什么你应该关注 Dmint?

Atomicals 除了能像 #BRC20一样发行 Token 外,也能用于制作所有数据存储在 BTC 上的 NFT,当然其方式与#Ordinals也不同。

Atomicals 的 NFT 铸造方法被称为 Dmint,这是一种更公平、更去中心化的 NFT 发射方式。

NFT 部署者需要将系列的每一张 NFT 图片都编号(如0000到9999),Atomicals 协议会计算每一张图片文件的 hash 值,并为每一张图生成单独的 json 文件。

随后协议会将上述图片 hash 数值通过默克尔树的方式计算出一个证明,这个证明可以用于验证系列中任意一张 NFT。

NFT 系列的部署者将这个证明,与 NFT 的名称、描述、Logo、挖矿难度等数据一起写入交易,发送到比特币网络中,完成系列的注册。

因此部署者注册过程中只需要发送 NFT 图片的 proof 证明,而不是每一张 NFT 图片本身,就算一次性部署 1000 万张的系列也花不了多少 sats。

随后 NFT 项目方公开每一张 NFT 的图片和 json 文件,用户选择后,自行发送比特币交易,将图片数据与 json 刻入 BTC 区块中,完成单张 NFT 的铸造(认领)。

这些 NFT 图片的 hash 值可以与注册交易中的默克尔树证明互相验证。

这就完成了 NFT 成系列的发行与铸造。

当然,重头戏还在与 NFT 的公平发射部分,Dmint 在这里引入的创新主要有两点:

Bitwork 挖矿后才可以 mint,且能在一个系列中自定义多个难度;

接受特定的 UTXO 来发送铸造交易,这可以用于收取 #ARC20代币,也可以按要求支付给项目方

首先是 Bitwork 挖矿,这是 Atomicals 协议独有的公平发射方式,部署者可以为铸造设定一个特定长度的前缀,铸造者必须使用电脑通过穷举的方式,碰撞出匹配特定前缀的 hash 值后,才能进行铸造。

首先,合理设置的 Bitwork 有效地拉长了 mint 的窗口时间,给了一般玩家更多的机会。Dmint NFT 的铸造,没法批量操作,更不能仅通过拉高 gas 获得大量筹码,一个 CPU 一次机会,相对地公平分发。

更进一步,在同一个 NFT 系列中,可以对不同的 NFT 设定不同的 Bitwork 难度(精确到每一个),比如:

白板

将系列后 8000 个 NFT 难度设定为 4位

(计算 1 分钟)

绿装

1000-1999 序号的 NFT 难度设定为 5 位

(计算 16 分钟)

紫装

100-999 序号的 NFT 难度设定为 6 位

(计算 256 分钟,即4个小时)

传奇

0-99 序号的 NFT 难度设定为 7 位

(计算 3 天)

如何你认同比特币 pow 的价值,那么通过 Bitwork 计算的方式也提炼了价值,这不可作伪地记录了 NFT 的稀有度。

显而易见,这种可变难度的设计,最容易想到的就是域名的发行:短域名数量少价值高,对应 Bitwork 难度高,大矿主就可以尝试挖矿赚取大量收益;长域名数量多价值相对更低,对应 Bitwork 难度低,任何普通人也能花几分钟为自己铸造一个。

在没有中心、公共的网络中,属于全人类的域名如何公平的分配?

Bitwork 这种存粹的计算是最能获得共识的。

这种设计似乎也呼应了 13年前中本聪的构想,以下是他的原话:“应该给矿工一些报酬,你可以考虑使用一定的工作量来生成一个域名。”

NFT MINT 的挖矿仅仅只是 Atomicals 的开始,创世团队也在考虑通过修改索引,将可变难度的 bitwork 引入 arc20 代币的发行,这实在令人兴奋。

Bitwork 本身在 BTC 的应用层计算,且需要协议传入各种环境参数,因此将挖矿和发送交易完全分开并不可行。

目前内卷的极限也就是至于 GPU 显卡竞赛了,大型矿池乃至 asic 都不会出现。因此短期里,普通家用电脑去竞争 Bitwork 仍然有大量机会,当然,我预计出售算力的代打服务也会很快上线。

第二个有趣的创新是,不仅仅是 BTC,Atomicals 协议还允许了接受特定的 UTXO 来发送 NFT 铸造交易,这意味着可以在铸造 NFT 的同时收取某种 #ARC20的 Token。

这就是 Atomicals 协议的染色币设计的优势,1 arc20 = 1 sat 的原生 UTXO 赋予了其更好的可编程性。

无需任何的额外的开发,Atomicals 的 NFT 与 #ARC20之间天然就可以产生“套娃”关系,使用 arc20 去打新 NFT(而 arc20 本身也可以设置 bitwork 挖矿),甚至可以使用旧系列 NFT 去 mint 新系列的 NFT,这其实提供了巨大的可能性。

越来越多的铭文协议开始引入类 bitwork 的挖矿 mint 功能。

字符串跳动起来,直观地给人带来的质感是完全不同的。

BTC 文化的复兴运动正在压倒加密世界的一切共识。

人们已经在铭文狂潮中对“公平分发”产生了强大的第一次共识,在探寻“更公平的分发”,与在 meme 中寻找价值的过程中,必然会对 POW 本身进行第二次共识。

这将给 Atomicals 协议,以及任何愿意尝试的协议带来新一轮的大发展,Dmint 只是一个楔子。

","gnid":"95287a695d12f166a","img_data":[{"flag":2,"img":[{"desc":"","height":"688","title":"","url":"https://p0.ssl.img.360kuai.com/t0165bac7d8e2d13688.jpg","width":"1460"},{"desc":"","height":"183","title":"","url":"https://p0.ssl.img.360kuai.com/t0143f9fd95c18da92d.jpg","width":"900"},{"desc":"","height":"257","title":"","url":"https://p0.ssl.img.360kuai.com/t016c2497b6f74a475b.jpg","width":"871"}]}],"original":0,"pat":"art_src_3,fts0,sts0","powerby":"pika","pub_time":1701409800000,"pure":"","rawurl":"http://zm.news.so.com/e66d17fc8ea088a21d1aeea44b148b12","redirect":0,"rptid":"638b01096a876333","rss_ext":[],"s":"t","src":"火星财经","tag":[],"title":"长推:Dmint——BTC 资产协议的 POW 尝试

逄重饱1136如何使用JSON Framework库解析与生成json数据 -
滕宝咽13170631366 ______ 即把JSON Framework库的Classes文件夹下所有的文件导入添加进项目中,然后在具体使用json framework的代码实现文件中添加#import "SBJson.h"导入此头文件. NSString *jsonString = [NSString stringWithContentsOfURL:url encoding:...

逄重饱1136如何用mfc 生成json文件 -
滕宝咽13170631366 ______ json说白了只是一串长得像js对象字符串,不是一个后缀名或者一种文件形式,所以只要将这个字符串传给前端js处理就行了,json本身就是一个对象,所以你可以直接赋值给一个对象就行.

逄重饱1136如何使用js 动态创建json分组数据? -
滕宝咽13170631366 ______ 之前我已经有讲过后台返回json数据到前台,并在前台遍历json数据.<br>这里讲下直接在JS里创建JSON数据,然后遍历使用~<br>创建代码如下:(创建的是JSON对象)<br>?<br><br>12345678<br><br>var YearSelect = {}; var Year = 2014; ...

逄重饱1136java这种格式的json怎么生成 -
滕宝咽13170631366 ______ List json = new AarryList(Nav); Nav bean = new Nav(); beansetId(20140406L); beansetText("检查记录"); List list = navServicegettree(nav,lv); beansetChildren(list); jsonadd(bean); return json;java这种格式的json怎么生成

逄重饱1136求一个在线编辑制作json的数据
滕宝咽13170631366 ______ 这个用json格式接收一下 具体代码如下注意:partitionID和limitTimes 是java代码里的属性名 success : function(json) { for ( var i = 0; i < json.

逄重饱1136flex做报表要与数据连接,我怎么做一个json数据,在哪里创建?然后是怎样连接的? -
滕宝咽13170631366 ______ 首先要理解一点:Flex是客户端技术,也就是运行在用户浏览器里的(类似Javascript),它不可能直接去读数据库.必须用后台语言读取数据库后,用Flex由客户端调用后来传来的数据.看你后台连接数据库的是什么语言了,比如可以是Java或...

逄重饱1136怎么使用c++生成json文件 -
滕宝咽13170631366 ______ 可以使用C语言接口的jansson库. 具体的使用方法可以参考下方的说明文档链接.https://jansson.readthedocs.io/en/2.10/

逄重饱1136如何用python处理json文件 -
滕宝咽13170631366 ______ import json,time infos = {"_id":"description","name":"python","filename":"中文","os":["abcd","hello","www"]} infos["time"] = time.time()#动态修改json文件内容 #生成json文件 def json_file(infos): with ...

逄重饱1136如何将写好的json对象写到一个json文件 求大神给个例子 -
滕宝咽13170631366 ______ 其实就是一个普通的Java方法,只是调用的地址给开放出来了.例如:地址:localhost/Test/client/getList?name=123别人可以通过这个地址调用这个方法把值给你localhot可以是本机IP地址,那么局域网内可以通过这个IP地址访问这个方法.把项目放在外网服务器上,那么localhost就换成了外网的地址了.client是自定的前缀,getList是方法路劲,问好开始带参数,name=123是参数名和值,多个参数就在后面加&符号就行了.打这么多字不容易,采纳了吧~!

逄重饱1136sql server创建表的时候怎么表示Json格式的数据 -
滕宝咽13170631366 ______ 可以直接使用字符串存储比如: "{'a':0001,'b':0002}"使用的时候转换为json对象或者按照常规的分字段存储,取出的时候根据需求自行转换

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024