初识 DAO

DAO(decentralized autonomous organization) 的出现,允许任何在网络中的协作关系,以协议和条款的形式而存在,决策随着组织内共识而被触发自动执行。

和传统的中心化组织不同,DAO 具有更加广阔的应用场景和领域,也更加 透明、公平和去中心化,更强调群体的权益和决策权。 这里,没有使用完全去中心化,是因为即使在区块链的网络中,组织内的权力也容易产生集中,组织中的个体有限(远不及区块链中节点的个数),且个体所拥有的权益通常是不一样的(通常,区块链上验证节点的验证权重都是一样的)。

...More

Solana - PoH 共识机制

正如比特币创世区块中,中本聪留下了当天《泰晤士报》的头版头条文章——The Times 03/Jan/2009 Chancellor on brink of second bailout for banks。这证明了创世区块是在 2009 年 1月 3 日当天或者之后被矿工 mint。后续所有的比特币交易,也发生在这个时间节点之后。
那么,如果后续所有的交易(或者说事件),都是顺序的,并且加盖了 “时间戳” 的,事实上这就是一个基于时间的历史事件序列。我们要证明某个交易事件在这个序列中,只要从这个历史序列中去求证即可。
和许多加密应用使用的基础技术一样,这里也将使用 hash 函数将这个序列串联起来。

...More

Lazy minting

本文是一篇译文,原文在此
在区块链主网络上铸造 NFT 通常需要消耗一些资金,在链上写入数据,你需要为算力和存储消耗支付费用。这对于 NFT 创建者而言,实际上是一个阻力,特别是对那些不想投入太多资金的创作者,他们甚至不知道这些 NFT 是否可以被销售出去。

...More

Wyvern 订单匹配协议

本文讨论 OpenSea 中使用的 Wyvern 协议 的订单匹配过程,该过程主要是用户和 Wyvern Exchange Contract 的交互。

匹配过程围绕 买/卖双方的订单 展开。卖方创建销售订单,以固定价格或者竞拍的方式,将 NFT 挂出去;买方创建购买订单,并将卖方创建的销售订单一起,发给交换合约 Wyvern Exchange Contract。交换合约将对订单校验,校验通过后,完成两个转移:

  • 支付费用转移;
  • NFT 产品转移。

    ...More

Solidity-引用类型

所谓引用类型,实际上是提供了一个指向内容的指针赋值给引用类型的变量。这么做的原因,在于其数据内容本身就是复合类型的,不像内置的基础类型,是可以直接表达出来的。

对于引用类型的变量,在进行参数传递或者变量赋值的时候,会存在这样一个问题:传递过去的到底是这个值的拷贝还是这个值的引用。其造成的影响就是,修改传递过去的内容是否会对原内容产生影响。

因此,本节讨论的主题就是:引用类型有哪些?影响其深拷贝的因素有哪些?删除时需要注意什么。

...More

IPFS 垃圾回收和持久化存储

IPFS 节点默认将其 存储的数据 当作一种缓存。这就意味着它其实并不保证数据的持久化。资源总是有限的,是需要维护的,在条件具备的情况下,它会进行垃圾回收。

但同时,有些数据我们是不希望按照 gc 规则回收的,这是就需要将这些数据 pin 在节点上。

...More

ERC 721 协议解析

ERC 721 是非同质化通证(token) NFT 的实现标准。
非同质化,意味着它是唯一的,不可替代的,比如区块链应用里的一块土地/一首歌/一张图/一段话,甚至你也可以将现实世界里的物理资产 token 化,它还可以代表一辆车/一间房。

相较于 ERC 20 这种同质化通证的标准,ERC 721 协议必然更加复杂,通常会由若干个合约组成。分开来看,每个合约都定义一定的职责或者功能,组合起来,共同完成 NFT 的实现和管理。

接下来,我们来讨论其在 OpenZeppelin 中的实现
@openzeppelin 版本 4.5.0

...More

© 2024 YueGS