我计划发行 2100 枚 Friendship Cards 友情卡片来做个 NFT 小实验。选择这个数字的理由也很简单,我们知道 Satoshi Nakamoto 中本聪在 Bitcoin 比特币实验中设定了 2100 万枚上限,因此 2100 这个数字在大家的心目中是一个很微妙的数字。每个钱包铸造上限将设置为 14 枚,有人知道我为什么这么设定吗?

有朋友说比特币诞生 14 周年、2140 年比特币区块激励终结、14 中文寓意一世,也有说 2014 年 Ethereum 以太坊诞生等,其中有几个朋友注意到了 2100 / 14 = 150 定律 Dunbar’s number 邓巴数,指能与某个人维持紧密人际关系的人数上限。我相信 150 个关键节点能撬动无数可能,只要有梦想,万事可成真。

一般程序员喜欢用 2、4、8、16、32、64、128、256、512、1024 等数字 2 的倍数。而我还自认为是个算法生成艺术家,对颜色空间也颇为敏感,你将会看到 16 进制 00-FF 在友情卡片中的表达。关于每次铸造上限,我则选择了 14 / 2 = 7 这个完美数字,一次最多允许铸造 7 枚,意味着你有机会遇到 7 种版本。

加密艺术家 @fearless_zi 自 2021 年 5 月开始创作 Crypto Portrait Gallery 系列作品,并在 2022 年新年送了我一枚 Crypto lxl,非常传神的像素作品。他还为刘韧、吴声、冯唐等人也定制了作品,很多人误以为是某种 AIGC,也想生成一个头像,事实上都是他亲手点出来的像素。我的友情卡片将基于此二创。

发行 NFT 对许多人来说是最难理解的环节不是作品本身,而是 Metadata 元数据这个概念。不知道的可能还以为和 Metaverse 元宇宙有什么关系。我最早注意到 Metadata 是在数码相机拍摄的照片里,比如相机型号、曝光度、分辨率、拍摄时间甚至经纬度等都属于元数据的一部分,NFT 规范也引入了元数据的概念。

不少项目使用 HashLips Art Engine 开源项目合成图片、生成元数据和调整稀缺度,这对发行者而言节省了大量的时间和人力成本。另外有 https://d.tools、https://bueno.art、https://nft-generator.art、https://nft-inator.com 等第三方工具可以使用,搞定了 NFT 元数据,事就完成了一半。

准备好文件和元数据,把资源发布到网上。那和区块链上某个 NFT 的关系如何锚定呢?首个基于 ERC-721 标准的项目 CryptoKitties 谜恋猫,其实把资源指向了项目方自己的 Web 服务器。在没有 NFT 这个说法之前出现的 CryptoPunks 加密朋克则是在 ERC-20 标准的基础上扩展了一个哈希值来链下验证资产关系。

加密朋克的验证方法非常原始,他们最初只是把包含 10000 个加密朋克头像的 punks.png 文件经过 sha256 运算之后把哈希值记在链上,文件本身只能通过其他途径获得,然后通过对照编号顺序来确认某个头像属于谁。后来有人协助他们把元素编码后写到以太坊上,再构造成 SVG 来输出,其实这是两个不同合约。

我认真琢磨过像素画上链这件事,通过提取图片像素经由 RLE 游程编码压缩,可以把常见 PFP 作品控制在 512 字节左右,此后还原 SVG 矢量格式,依然可以比 PNG 图片格式少 3.5 倍。Nouns DAO 名词道是个很不错的链上项目,不过也有他的局限性,毕竟在链上能表达的信息实在有限,复杂度相对较高无法普及。

除了 CryptoPunks、Nouns 这类特例,绝大多数 NFT 项目都采用 HTTP 或 IPFS 等链下存储方案来解决元数据和文件资源的访问。ERC-721 标准提供了 TokenURL 这个方法用来返回 Token ID 对应的地址。传统 Web 服务有可能会出现无法访问的情况,而 IPFS 协议又没有激励层,只能使用类 CDN 第三方 Pin 服务。

链的选择,可谓仁者见仁,智者见智。我的判断比较简单:得开发者得天下。以太坊上有基于 ERC-20 标准发行的 NFT 史前项目加密朋克,有基于 ERC-721 标准发行的首个 NFT 项目迷恋猫,且有各种修订版本,还有 ERC-1155、Atomic 标准等。有众多开发者的生态环境,从成本角度也可以选择其他的 EVM 兼容链。

作为 DMC(@datamallcoin)去中心化存储服务生态成员、CYFS(@CYFSTech)网络协议的第三方应用公司:Fog Works(@fogworksinc)的联合创始人,在数据存储这个问题上,自然有不同见解。短期为了兼容性可以选择 HTTP 和 IPFS 协议,长期则要满足稳定性、高可用性等需求,且 NFT 持有人应当有权管理数据。

NFT 本质上是一种 Deed 契约,如同房产证是房子的权益证明。作为 Friendship Cards NFT 持有人,将这种友情以 Code is Law 代码即法律的方式记录在区块链上。朋友情谊亦有远近,依据 Six Degrees of Separation 六度分隔理论,对工作和事业发展更有帮助的社会关系并非「强连接」反倒可能是「弱连接」。

2100 枚最终会分散到那些朋友手里?根据铸造条件限制,初始阶段至少会有 150-300 个独立持有人,不搞白名单,不担心科学家,完全开放免费铸造。我将建立一个电报群和一个微信群,为持有人谋福利,无论是空投还是白名单,或是某款稀缺产品的优先体验机会,犹如前年的 Clubhouse 或当下的 ChatGPT 之类。

Friendship Cards 友情卡片相关推荐

  1. 卡片消除游戏 java版(代码+讲解)

    最开始一出的时候就准备写了,被别的事情耽误了.花了两天时间,把某个游戏的基本的功能都写出来了,还是挺简单的.简单来说就是个卡片消除游戏,代码方面挺简单,比代码难的是地图的制作(卡片的放置).完整代码在 ...

  2. Bootstrap -Card卡片

    Cards(卡片) Bootstrap 提供了一个可伸缩可扩展的内容容器给多种变量和选择. 关于 卡片是一个灵活的.可扩展的内容容器.它包括用于页眉和页脚的选项.各种各样的内容.上下文背景颜色和强大的 ...

  3. Java面试题及答案整理( 2022最新版,持续更新)

    发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ Java面试永远是程序员迈向成功的第一个门槛,想要面试成功,各种面试题的洗礼是必不可少 ...

  4. 静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?

    答: Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化.而通常的内部类需要在外部类实例化后才能实例化,其语法看起来挺诡异的,如下所示. / ...

  5. Java继承_Java面试题总结(一)

    1.JDK和JRE有什么区别? JDK:Java 的开发工具包,提供了 Java 的开发环境和运行环境 JRE:Java 的运行环境,为 Java 的运行提供了所需环境 具体来说:JDK 其实包含了 ...

  6. 前端组件库 - 搭建web app常用的样式/组件等收集列表(移动优先)

    0. 前端自动化(Workflow) 前端构建工具 Webpack - module bundler Yeoman - a set of tools for automating developmen ...

  7. Java经典面试题一

    转载自  Java经典面试题一 题目一 面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: 1.抽象: 抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽 ...

  8. vuejs 轮播_如何在VueJS中设计和构建轮播功能

    vuejs 轮播 by Fabian Hinsenkamp 由Fabian Hinsenkamp设计 A carousel, slideshow, or slider - however you ca ...

  9. [转载] Java面试题全集(上)

    参考链接: 如何运行不同目录中的Java类文件 2013年年底的时候,我看到了网上流传的一个叫做<Java面试题大全>的东西,认真的阅读了以后发现里面的很多题目是重复且没有价值的题目,还有 ...

最新文章

  1. 客户机不能看到分配的dhcp_交换机配置DHCP后下挂用户获取不到IP地址或者获取缓慢...
  2. Java 虚拟机总结给面试的你(下)
  3. 微信公众号监听返回按钮问题解决
  4. There are no interfaces on which a capture can be done.
  5. 风险案例-25期-与有过合作经历客户在新合同约定中过于简单、范围不明确,导致客户对新需求工作量不认可...
  6. EventProcessor与WorkPool用法--可处理多消费者
  7. boost::detail::reference_content的用法测试程序
  8. ARM中Steppingstone启动
  9. POJ 3624 Charm Bracelet
  10. 视觉SLAM笔记(19) 相似变换群与李代数
  11. 车内语音识别技术,让汽车活起来
  12. 2017杭电ACM集训队单人排位赛 - 1(ALL题解)
  13. android只有域名打包封装成apk,一个Android Studio工程根据网址打包出不同的apk
  14. Python使用hashlib模块生成给定文本数据的签名摘要信息(包括各种哈希函数)
  15. 高斯分布4——联合概率分布
  16. dump日志分析工具
  17. QT installs的使用,编译时拷贝文件
  18. removeClass()
  19. 日程提醒app android,手机里有提醒日程安排的软件吗?
  20. 华为策略路由原理与实验

热门文章

  1. 如何在 AutoLayout 中使用 UIScrollView (多个ContentView)
  2. linux mpeg4ip 编译,[操作系统]CentOS6.2下编译mpeg4ip
  3. 幼儿园门禁管理太难?解决策略都在这里
  4. 【题解】LuoGu5664:Emiya 家今天的饭
  5. Cadence和Synopsys工具介绍
  6. win8.1cmd常用命令提示符
  7. 超好看的网站极简导航网址网站源码模板
  8. python办公自动化应用实例_带你用Python玩转PPT
  9. 恒大再控股轮毂电机公司 整合业务速度或成下个挑战...
  10. 2020年最新整理20个必备PHP开源类库,武装生产力