---
# System prepended metadata

title: WNS 开发对称会议

---

# WNS 开发对称会议

## 长期关注议题
- [ ] wns合约重要功能和特性列举：
    - 域名限定字符集，排除零宽字符等不安全字符
        - 可参考.bit现在使用的字符集
        - 小萌：仅使用英文字母和数字
        - tp：把字符集变成可配置项
        - adu: .web3 顶级域仅支持英文字母和数字，次级域名由用户合约自行配置
    - 域名注册支持跨链发送消息给wns链上合约或地址所在原生公链合约
    - 用户注册手续费需收集到`Treasury`合约并向用户和`DAO`分红
    - 交易版税：域名nft在二次市场交易时收取一定比例的版税
    - 域名保留库
    - 合理的设置最低续费期限：
        - tp：现在ens支持最低续费期限为28天，但是有90天的保护期，最低续费期限应高于90天
        - 小萌：还是按照传统域名最低续费一年？
    - 域名nft metadata应该是一个随机生成的图像的ascii编码
        - tp: metadata是一个ipfs的链接即可，可节省手续费
    - 分批释放保留库域名，参考.bit，需要对保留库的域名有更加细粒度的控制
- [ ] wns合约开发里程碑
    - [ ] 2022-12-31
        - [ ] 各个模块合约功能开发完毕
        - [ ] 合约集成
        - [ ] 部署在本地的测试网
        - [ ] 单元测试，集成测试，simulation
- [ ] 长沙团建

## 2023-03-06
- wns 架构
    - 跨链did
        - native did module
            - 存储domain name metadata
                - owner, resolver, ttl等
                - 支持多级索引
                    - 点差：如adu.web3
                    - 范围查询和迭代：如所有以.web3为后缀的域名的查询和迭代
                    - key和value的序列化：
                        - key: suffix hash + label
                        - value: metadata {owner, resolver ,ttl}, proto3序列化方法
            - 维护domain name唯一性
            - tld 的注册，续费等逻辑
            - 跨链逻辑
                - gravity-bridge
                - IBC
            - evm 和 native did module的互操作性：
                - stateful precompiles: https://github.com/evmos/ethermint/pull/1131
                - evm hooks:
                    - 现有的ethermint已经支持
                    - 实现较简单
            - 收取did发行年费：
                - 定制化收取年费 vs 固定收取年费：
                    - [Track] 固定费用 + 竞拍？
                        - 固定费用不能价格发现
                        - 竞拍对于did发行商没有保障，可以根域到期后竞拍
                - [Track] link：和azuki等nft ip的合作
                    - NFT社区合作方案：punk社区为例发行.punk（0.punk-9999.punk)0号nft持有人link可注册link.0.punk 交易给Tim  Tim可注册Tim.0.punk (拥有过punk的凭证 ）
                - tim：早期简单逻辑 + 后续升级
                - 有限的根域 vs 无限的根域
                - [Track] Tim：对did发行商的收益收取一定版税到社区金库
        - smart contracts（ethereum等）
    - 域名治理
        - native did module + gov module
            - 实现顶级域的投票注册等

## 2023-02-13
- 技术团队现状和规划
    - 现状
        - [ ] mvp第一阶段测试
            - [x] 运维工具：https://github.com/wns-lab/pystarport
            - [ ] 集成测试脚本：
                - 参考 https://github.com/crypto-org-chain/cronos/tree/main/integration_tests
        - [ ] gravity-bridge 和合约的对接 
        - 合约测试：
            - [ ] hardhat框架
            - [ ] 写成测试脚本
    - 技术路线图：
        - 实现一个前端可交互的mvp，包含我们承诺的核心特性，如跨链注册，其他did同步到witness等
            - did的发行，注册
        - 发行.web3并且开始用户邀请内测
        - .web3的公开测试
        - witness公开
    - 技术团队角色和分工：
        - 公链开发：adu,link
        - 合约开发：tp
        - 测试：adu,link,tp兼任
        - 运维：adu,link,tp兼任
    - 技术团队资源：
        - 云服务器或者租vps服务器
            - 从成本等角度考虑

## 2023-02-08
- Q&A
    - 这条链是服务多个DID还是主打自己的DID？
    - 怎么看未来did发展局势？是集中还是分散
    - 跨链的具体架构和意义？用户将nft资产跨链是否那么刚需？（对于DID来说跨链的意义是什么？）
        - 小萌：从用户角度 跨链的意义在于降低了注册门槛 他不需要对应链的代币就能注册 ，也增加了二级市场的流动性，从生态角度来看 是保证全链的共识统一，不会出现在不同链上一个did对应的是不同的人
    - 项目到什么阶段？（技术和生态的合作）
    - 除了顶级域名不冲突以外，我们认为DID间最基本的共识还有哪些？
        - 小萌：DID未来和社交和在web3的信用凭证一定是强相关的，这就涉及到跨链操作性，整合全链数据，跨链，就是DID的第二大共识
    - 怎么解决公链的流动性
    - 对于在witness上发行的顶级域名及次级域名，是否可以收取类似版税这样的费用，可能是相对于web2的一个创新点，以及收益模型
    
- bp里需要补充跨链等方面的技术架构的内容

 
## 2023-02-06
- MVP 进度
    - 基础框架搭建完毕，可编译运行，进入测试，迭代阶段
    - 小萌：从MVP到最终成品的时间，人力等资源的安排
        - 最快需要1-2两个月时间上线测试网，并公开试运营
        - adu: 跨链注册以及did同步功能上线之后就可以开始试运营
    - Tim:
        - 先部署测试网，并在测试网上进行测试
        - 功能迭代在测试网上发布
    - link, tp:
        - link熟悉main分支最新代码，并基于main分支做功能迭代开发
        - tp测试合约功能，并与adu或者link对接完成gravity-bridge集成

- BP，官网进度
    - 小萌：今晚最终版BP分享
    - 小萌：官网已经搭建好了，解决证书问题
- Q&A
    - [x] 代码是开源的 现在也有公链有自己的原生did 为什么选择witness公链发行did，和在cosmos上面发行did有什么不同
        - 首先大部分公链上的原生did如ens, spaceid, aptname等一般来说不具备真实的跨链转移和互操作的能力，往往局限于某个区块链生态，也不兼容其他公链发行的did，他们可以为专属于该生态的应用提供服务，但无法兼顾大部分的web3使用场景
        - cosmos生态里的公链大多是应用链，也就是说一条链就是一个应用，如果没有虚拟机的支持开发者很难在这条公链上发行did服务，即使是拥有虚拟机的应用链，如使用CosmWasm虚拟机的Osmosis，也将会因为和EVM不兼容导致开发者迁移成本很高，而少数兼容EVM的cosmos应用链如Evmos，Canto以及Cronos等，他们的现有的公链模块也不是服务于did产品，导致did发行商需要自己造轮子，并且局限于EVM的效率和成本问题，很难开发出能够落地的跨链did产品。其次这些did产品即使能够发布也很难兼容其他did产品，更别提多个did的治理了。本质上这些问题都是由于缺少公链层面的基础设施的支持，局限于EVM或其他虚拟机低下的效能和昂贵的成本。
        - Witness是第一条cosmos did生态链，兼容EVM，熟悉solidity等语言的开发者可以很方便的将did应用迁移到Witness，开发成本低。其次Witness特有的基于IBC协议，gravity-bridge以及其他模块开发出的nameservice模块可以提供方便，廉价而且快速的基础的跨链DNS架构，同时我们将通过stateful precompiles技术打通EVM应用和公链基础设施的联系，充分为did应用赋能，而这既是其他公链的应用无法享受到的，也是cosmos生态现有的EVM兼容链所未能实现的。另外作为did生态链，我们将钱包应用，did服务以及社区用户这三者结合起来，形成完善的did治理机制，打通了从did发行商到终端应用，再到社区用户这一链条，让Witness上的did应用一旦获得承认就获得了来自应用场景和社区用户的共识，既服务于已发行的did应用，也服务于将来发行的did应用。最后Witness上的did应用可以流畅的兼容Witness平台上的其他did应用，让各个did应用真正的互通，为钱包等应用提供一站式的解析服务。
        - Witness是cosmos生态第一条原生支持账户抽象相关标准的公链，不仅能够兼容多链公私钥账户交互，还能让did应用轻松实现用户使用任意token支付费用，甚至是手续费代付，或者自动定期扣款账户，社交恢复账户，免私钥密码登录账户等新一代的智能合约账户。让did应用能够开发出真正易用，功能丰富且兼顾用户自我主权的新一代did产品。
    - [x]  什么是Witness
        - Witness基于cosmos技术栈的，兼容EVM的一条did生态链。为did开发者提供did开发基础设施，为钱包应用，did应用和社区用户提供生态治理。
    - [x] 为什么已经实现跨链的DID项目需要同步到WNS，同步的花费由谁承担？
        - tp: 其他did应用同步到Witness上的的花费由did项目方承担
            - 主动同步其他did到Witness上兼容开发的成本较高，较复杂，而且需要cpu,存储等资源的支持，费用应该由项目方来承担
            - 对于ENS这样的有巨大知名度的did我们可以主动同步到Witness上，获取社区支持，费用由节点承担
        - 小萌：
            - 我们主动要同步过来的did由节点承担费用
            - 其他did由项目方承担费用
            - 旧的did项目同步到witness相当于在witness发行did
    - [x] 如果发行did要经过社区投票治理，不是间接增加了发行商的发行成本，为什么发行商不自己选择别的公链发行
        - 小萌：
            - 发行的成本约等于市场运营的成本，在witness上发行能够精准的获取did社区用户，同时还获取了witness上的钱包应用的支持
    - [x] DID发行商在WNS上发行的利益如何分配？大概发行成本是多少？
        - 顶级域由did发行商控制，所有收益由did发行商所有
        - 顶级域需要每年交年费，年费由链上或者其他方式治理
        - did发行商越早在witness上注册顶级域，注册提案通过的可能性越高，话费越小，随着社区的壮大和有价值的顶级域逐年减少，越往后did发行商注册顶级域的成本越高，可能的年费也会越高
    - [x] WNS能够为DID发行商提供多大程度的技术架构，有多少可拓展性和定制化选项？
        - witness能够在常见的did的基础功能上为did提供真实的跨链流动性和跨链操作
        - 域名拥有者可以控制该域名下所有的次级域名，包括注册，收益等
        - did应用可完全定制域名的注册发行，收费等逻辑，Witness只提供了基础设施
    - [x] 对于DID发行商的未来发展是否存在限制，例如上架钱包，修改规则等？
        - 所有规则都基于开源开放的原则，规则的更改需要经过链上的投票治理
        - witness上的did已经发行默认获得钱包应用和社区用户的支持，但是钱包应用和社区用户仍然有权利拒绝支持该did应用
    - [x] 钱包如何参与DID的共同治理，不同体量的钱包的治理权限如何划分？
        - adu:
            - 钱包可以通过持有wns成为验证节点，并参与到投票
        - 小萌：
            - 除了钱包之外，社交平台对did的需求更高，如nostr
            - web3信用平台，信用评级
            - 钱包转账对id不敏感，社交用户对id更敏感
    - [x] 接入WNS的钱包有哪些收益？（原本接入did会有他们自己的收入）
        - 钱包作为验证节点享受出块收益和手续费收益
        - 钱包作为大额票仓，在提案投票过程中可以享受到较大利益
        - 钱包仍然可以与did应用商议额外的对接花费
    - [x] 对于钱包合作的DID技术，是否有限制
        - 没有限制
    - [x] 为什么钱包选择与Witness合作而不是直接选择共识度高的DID合作？
        - 选择witness就选择了很多原生跨链的did
        - 钱包可以享受到生态发展，治理的收益
        - witness聚集了did生态的共识，钱包可以享受到更大的流量
    - [x] Witness是通过什么方式实现接入钱包后能在该钱包中显示和解析DID？
        - 钱包等应用可以通过在前端调用sdk获取解析结果，
        - 也可以将交易打包发送到链上后调用解析合约获取解析结果。

## 2023-01-31
- WNS 和 .bit 对比我们的区别和优势
    - 小萌：
        - 弱化我们在技术方面东西，和.bit是完全不同的项目，我们是公链，.bit是did应用
        - 强调我们是公链平台
        - 强调我们链上的应用和.bit的不同
        - .web3和.bit的区别
            - .web3的域名NFT天然具有跨链流动性
        - witness可以解决后缀冲突的问题

    - Tim:
        -[Track](Creating note...) 其他did项目同步到witness的花费由谁承担
        - .bit 怎么解决跨链流动性
        -[Track] 怎么解决公链的流动性
        - 讲清楚.web3
        - 可能最大的客户不是.bit, 而是通过降低发行did发行门槛吸引来的did发行商
            - 小萌：解决后缀冲突还是需要治理
                - adu: 投票
                - tp: 拍卖竞价
                - 小萌：ICANN解决顶级域名的治理，结合投票和拍卖
            - Tim: 不具备运营能力发行的域名可能会遭遇浪费，而且很难转移拥有者
                - 如何吸引到强运营能力的团队发行顶级域名
                - 投票的早鸟用户获得域名运营拍卖的收益奖励
                - adu：witness把钱包等应用加入到生态的治理中，钱包可以投票决定要支持的did，did投票通过后也意味着获得了钱包等应用的支持，把did发行商，钱包和社区用户这三个重要的角色结合在一起。
                - Tim:重要的是获取钱包等的支持
        - 把wns和.web3分开谈
    -  web3域名的使用
        -  fomo：先到先得
        -  社交属性
        -  身份标识
    -  Tim: 总结成文档，和现有的did对比，弱化技术背景
        -  .web3: cosmos最大的did服务，不容错过
        -  witness: 
            -  服务于.bit，但目前还没有进驻
            -  服务于新的did发行商
            -  投资witness就相当于投资后续的新的did发行商，拿到did生态的门票，投资witness就相当于投资了web3时代的ICANN
            -  创始团队将保持对witness的影响力
            -  激起投资人的fomo情绪
    -  小萌：版税等持续收入
        -[Track]  Tim: 对于在witness上发行的顶级域名及次级域名，是否可以收取类似版税这样的费用，可能是相对于web2的一个创新点，以及收益模型

## 2023-01-16
- [PR #3](https://github.com/wns-lab/wns-chain/pull/3/files) review
- 技术难点：
    - ens: 钱包节点获取的ens解析记录有可能落后于最新区块
        - tp: 转移时将解析记录置为空
    - wns：跨链同步状态，两点链上的状态不一致的窗口期
        - 教授：
            - 应用观察两条链上的状态，只有当两边状态一致的时解析记录才有效
            - 第三种状态不能从根本上解决问题，还是需要应用来杜绝作恶
        - link：关系到使用场景，用特殊状态标记：冻结，并提醒用户
        - adu: 考虑是否需要增加第三种状态：冻结
- 市场和商务下一步计划
    - 小萌：
        - 节后去和项目方接洽谈合作
        - 出去之前基本工作完成：
            - 官网bp
            - mvp可运行
            - github开源
        - 项目背景资料分享给大家
    - 教授：
        - 可介绍媒体方面 coinlive的工作人员

## 2023-01-09
- wns [#PR 3](https://github.com/wns-lab/wns-chain/pull/3/files)
    - 重构nameservice兼容cosmos-sdk v0.46
        - 定义proto文件
        - 利用proto生成基本数据类型和grpc service
        - 集成gravity module
        - 集成gov module
    - link: 字符集验证patch push到link/wns-V0.0.1分支，adu基于此分支继续工作

## 2022-12-28
- nameservice 迭代：
    - 存储状态：
        - node -> record(resolver, owner, ttl)
        - 可设计二级索引：node -> chainID -> record
    - 字符集校验，在msg.ValidateBasic中设置：link
    - gravity-bridge模块集成：adu
    - x/gov简单的集成：adu
    - evm，precomfiles：尽量推进
- 合约：
    - 需要依赖evm和precompiles：
        - 先熟悉研究，后续再推进：tp
        - 如果短时间内precompile不成熟，现有nameservice已有注册功能

## 2022-12-12
- review 合约代码和wns-chain代码
    - review nameservice 代码：
        - 还需要msgServer, queryServer, keeper
        - 周五review nameserver代码
    - review 合约代码
        - 已基本完成编译和调试
- 上周工作进度
    - link：完成mini mvp：nameservice
    - tp：合约代码的编译，调试测试功能
    - adu：参与gravity-bridge风险模型评估：需要注意跨链的tokenmapping的管理，私钥使用kms管理，wns-chain使用cronos代码仓库
- 本周工作安排
    - link：
        - 周五一起review nameservice代码，并且把app跑起来
    - tp：
        - 择日review合约代码
        - 准备registrar合约
    - adu:
        - 定义proto文件并生成数据结构

## 2022-12-05
- review pr: https://github.com/wns-lab/wns-chain/pull/2/files
- 本周工作安排：
    - adu: 探讨gravity-bridge 集成，x/gov 域名治理集成
    - link：完成wnskeeper和message server
    - tp: witness链上需要有分配.web3域名的registrar合约和相应的价格预言机

## 2022-11-28
- wns-mvp 的路线图和里程碑
    - https://hackmd.io/iOkOBVfpR5ukFub5bujiAQ

- 同步上周工作内容和当前工作内容
    - adu: 新提交一个pr初始化`x/wns`的类型和数据结构：https://github.com/wns-lab/wns-chain/pull/2
    - tp: 集成gravity，权限控制，删除不需要的功能
    - link：mini-mvp 模版和了解ethermint

## 2022-11-14
- 本周周五共同review合约代码，结束第一阶段合约代码开发
- gravity -> controller -> registrar -> registry

## 2022-11-21
- 合约开发经验：
    - 剥离了erc721和erc1155模块，保留registry和resolver，控制器以及gravity。控制器控制注册流程，控制器由gravity直接控制
    - tp: 收尾工作和单元测试
- mvp开发
    - 路线图和里程碑
        - adu：输出路线图和里程碑，知道mvp包含的特性
    - cosmos端开发
        - fork ethermint
        - module 开发
        - 测试
            - mini版mvp
            - link：输出方案
    - gravity集成


## 2022-11-07
- [ ] 合约开发进度和细节同步
    - gravity 集成：https://github.com/wns-lab/wns-contracts/pull/12/files
    - 控制器合约，注册商合约（ERC721）, 注册局合约
    - 2022-11-17 合约部分基本完毕，有一些简单的单元测试

## 2022-10-31
- [x] 合约架构调整
    - WNSRegistry 继承 ENSRegistry
    - WNSRegistrar 继承 ERC721， IBaseRegistrar， Ownable
    - WNSRegistrarController 继承IETHRegistrarController， Gravity(某个实现跨链功能的合约，delegatecall方便升级)
    - PublicResolver?

- ERC4377现在还在研究阶段，后面再考虑实现


## 2022-10-24
- [ ] 合约开发经验总结
    - 要在`controller`合约做控制，包括是否为保留域名，是否为合法字符，包括ERC1155封装等
    - 继承`ENSRegistrarController`合约？tp：重写控制器合约。
    - `ENSRegistry`，`PublicResolver`合约可以继承后override相关函数。
    - 保留库合约可以设置解锁全部保留域名的期限，tp: 可以硬编码到合约里
    - controller合约可以继承保留库合约：避免额外部署保留库合约
    - 设计好合约的状态变量，以及变量的可见性，以及合约方法的可见性
    - 尽量通过集成openzeppelin的库合约的方式实现功能特性
    - 保留库域名名单什么时候确定？
        - 小萌：分批释放保留库域名，参考.bit，需要对保留库的域名有更加细粒度的控制
        - 上线时确定
    - 保留库的拍卖功能：
        - 小萌：拍卖成功后所属权鉴权
        - tp：拍卖的时候提交地址确保谁出钱谁拥有
        - [track] 拍卖功能：链上链下？
        - [track] ens的价格拍卖功能怎么实现的？

## 2022-10-17
- [x] 讨论wns合约开发roadmap：
    - 根据产品需求通过修改或添加合约实现相应的功能特性：https://github.com/wns-lab/wns-contracts/issues/7
        - deadline: 2022-11-17
    - wns合约集成测试
    - 可能的wns合约重构和测试

## 2022-10-10

- [x] wns合约线上协作开发工具和流程
    - 开发工作内容包括代码和文档等，开发组通过github进行协作开发，开发人员需通过提交github pull request的方式提交工作内容，参与review，并最终merge到wns的合约开发仓库：https://github.com/wns-lab/wns-contracts
    - 开发进度通过github issue, milestone等管理
    - hackmd以及google doc用于线上文档协作，可共同编辑，评论等，技术文档推荐使用hackmd，方便使用markdown并同步到github
    - 每周一次的技术同步会议，可通过线上google meet等方式或线下进行

- [x] 基金会头像
    - [x] 已有素材，挑选完毕即可使用

