我受团队的委托,代表优证链通发布Unizon去中心化时间锁管理框架1.0版本。
图1.UnizonTimelockAdmin主界面
这个公号主要是介绍自己学习区块链的一些感悟,Timelock这么专业技术性的内容,本来不应该在这里发表,但是因为目前我们团队刚刚成立,很多基础设施都还没有建立起来,所以借用这个频道发布我们的第一个开源项目。本文所涉及到的是代码级的技术主题,目标读者是以太坊上DeFi和DAPP开发者。据我们所知,目前这部分人群的数量是很少的,所以如果读者对于本文的内容感觉不知所云,大可以放心忽略。
时间锁,顾名思义,就是根据时间上锁和解锁的机制。这是几乎每一个DeFi和DAPP项目都会用到的基本功能模块。粗略的理解,可以认为时间锁是一个“延时管道”,一个计划好的动作,经过时间锁的锁定,会暂停执行,等待指定的时间之后再执行。这个功能逻辑简单,但是非常有用,也非常重要,在以太坊这样的区块链平台上要做对也并不容易。
图2.一个被时间锁延迟从而挂起等待到期执行的操作
Coingraph:美国法院批准SEC要求冻结Binance.US公司资产的请求:6月7日消息,美国一家法院批准SEC冻结Binance.US子公司BAM Management和BAM Trading资产的请求。但不会影响Binance.US客户的资产,只会冻结Binance.US的公司资产。据悉,Binance.US和Binance.com是独立的实体,所以资产是安全的。
此外,法院还命令Binance在十天内将Binance.US账户中持有的所有法定货币和加密货币归还给其客户。[2023/6/7 21:21:41]
图3.一个到期执行完毕的操作
都说DeFi是乐高积木,像时间锁这样的基本功能,就应该有一块小积木对应它,让需要的项目随取随用。但是目前各个主流项目都是把时间锁功能实现在自己那一大坨智能合约代码里,拆不出来也补不进去。
我们团队在开发DeFi协议过程中也实现了一个时间锁管理框架,并且已经在若干产品中稳定可靠的运行了一段时间。我们觉得应当为DeFi开发生态有所贡献,因此决定将这个时间锁拆出来,做成一块乐高积木,以后其他DeFi项目如果需要这个功能,就不必重新开发了,可以直接使用这个管理框架,自由的集成在自己的项目中。当然,由于代码开源,我们也欢迎同好自由改进这个框架。
数据:14,999枚ETH从未知钱包转入Deribit:金色财经报道,据WhaleAlert监测,14,999 枚ETH(27,770,317美元)从未知钱包转入Deribit。[2023/4/7 13:50:15]
无论是从代码规模还是从其意义来说,这只是一个很微小的贡献。但这是我们团队成立以后发布的第一个开源项目。未来我们希望还能够向整个DeFi和DAPP社区不断的提交一些有用的“乐高积木”——区块链的平等、开放和协作,同样应该体现在技术和代码的层面上。
项目代码在这里:https://github.com/unizon-blockchain/timelock。具体使用说明,请参见下文。
目标
Timelock已经成为高质量DeFi项目的标配,是治理体系不可或缺的一部分,通过Timelock接管/限制超级用户对系统参数的修改,一方面可以避免管理员作恶或者攻击者获取管理员权限后对系统造成严重破坏,另一方面也可以给用户以更大的权限,在用户不同意某些治理措施时有足够的时间提前行动,避免资产遭受损失。
安永在深圳开设亚太技术实验室,创新领域包括区块链、Web3等:12月13日消息,安永会计事务所在深圳开设亚太技术实验室,该技术旨在利用新兴技术提升创新潜力,如AI、AR、VR、区块链、Web3等。该实验室目前已推出一种基于 Web3 的医疗保健数据分析模型,由去中心化身份 (DID) 规范支持,以帮助与主要制药公司合作运行合规、经过身份验证的医疗数据分析。(prnewswire)[2022/12/13 21:42:15]
目前业内普遍采纳了一个标准timelock合约,如同本项目所包含的,包括Compound、SushiSwap等项目均采用。但是,合约的使用与管理却没有一个比较简单、通行的方案,目前比较典型的有两类:一种是Sushiswap采用的简单查询方式,即把timelock合约所涉及的所有交易查询出来,按时间顺序展示,而不关心具体业务的操作逻辑。参见:https://sushi-timelock.txs.wtf/。另一种是与治理体系结合的比较完整的方式,如:Compound官网上展现的。
目前我们尚未看到一个完整的、面向timelock使用和管理的开源项目,能够帮助DeFi开发者快速使用和管理timelock。这种情况下,一个DeFi项目的管理者,想要有效使用timelock,会遇到两个主要的问题。一是要有相当的开发量,自己合约对应的所有函数都要自己来编写对应的timelock调用,开发工作量大,正确性难以有保障。二是如果参考SushiSwap这种流水账式的组织方式,则无法从业务的角度去使用和管理timelock,比如:发起一个timelock交易修改平台的某个参数,并且在两天后timelock允许生效时对这个交易进行确认,这是一个典型的场景。但在SushiSwap这种原始的查询方式中,无法知道当前timelock中有哪些待执行交易、内容是什么,必须去浏览全部的,混杂在一起的各种交易,找到当初发起的交易再执行。
盈透证券董事长Peterffy:标普500指数可能再跌16%才会见底:9月8日消息,盈透证券董事长Peterffy Peterffy称,美国股市的跌幅还不足以反映居高不下的通胀压力,通胀压力将促使美联储在一段时间内维持高利率。他周三向彭博电视表示,标普500指数跌到3300点至3500点之间才会见底。这意味着,与周三的水平相比,最大跌幅可达16%。见底之后,将会在底部徘徊“一段时间”。“我看空已经有一段时间了,我认为股市尚未见底,因为我认为通胀还没结束,”他表示,“我们面临着去全球化、ESG、缺少熟练劳动力、持续的赤字支出和偿债成本上升等深层次问题。所以他们共同促成了通胀。”[2022/9/8 13:15:18]
我们认为,一个有效的timelock管理框架,应当做到两点:一方面应当让项目通过配置的方式就可以将自己需要管理的方法交由timelock实现,无需大量的开发工作。另一方面数据组织形式应该更贴合业务逻辑,采用基于业务的组织方式,将QueueTransaction与ExecuteTransaction/CancelTransaction匹配、组织起来,简化管理员的工作。
赛百味餐厅已提交元宇宙及 NFT 相关商标申请:5月24日消息,根据美国律师Mike Kondoudis的推文,赛百味餐厅已为Subway及其S logo提交元宇宙及NFT相关商标申请,涵盖范围包括虚拟食品及饮料、NFT支持的媒体、拥有真实和虚拟产品的虚拟餐厅。[2022/5/24 3:38:14]
这就是UnizontimelockAdmin项目的初衷。
功能简介
通用的timelock管理DAPP,通过修改配置文件即可实现timelock交易展示、queueTransaction、executeTransaction、cancelTransaction功能
修改/timelock/constants.ts文件更改配置文件:
/***timelock管理的合约地址,本配置以compound为例*/exportconstcontract_address:any={3:{'unitroller':'0x52Ab60E7F463B73C6A90ee116dBB18ac61DC63FF','comptroller':'0x52Ab60E7F463B73C6A90ee116dBB18ac61DC63FF','cToken1':'','cToken2':'','cTokenn':''},1:{'unitroller':'0x3d9819210A31b4961b30EF54bE2aeD79B9c9Cd3B','comptroller':'0x3d9819210A31b4961b30EF54bE2aeD79B9c9Cd3B','cToken1':'','cToken2':'','cTokenn':''}}/***timelock管理的合约所对应的abi文件,abi文件需拷贝至/timelock/abi目录*/exportconstcontract_abi_file:any={'unitroller':'unitroller-abi.json','comptroller':'comptroller-abi.json','cToken1':'cToken-abi.json','cToken2':'cToken-abi.json','cTokenn':'cToken-abi.json'}/***deplayOffset,unit:seconds*/exportconstdelay_offset=300;/***timelock合约地址,分别为mainnet和ropsten,其中主网为compoundtimelock合约地址*/exportconsttimelock_address:any={1:'0x6d903f6003cca6255D85CcA4D3B5E5146dC33925',3:'0x4168FE8179C5e99074068244413909F40c4301B2'}/***timelock管理的合约需要执行queueTransaction的函数列表*/exportconstqueue_functions:any={'unitroller':,'comptroller':,'cToken1':,'cToken2':,'cTokenn':['_acceptAdmin','_setReserveFacto
运行及部署
运行:
在项目根目录执行
yarnyarndev
部署:
在项目根目录执行
yarnbuild
通过nginx/apache部署./dist目录即可。
本文来源于非小号媒体平台:
孟岩
现已在非小号资讯平台发布18篇作品,
非小号开放平台欢迎币圈作者入驻
入驻指南:
/apply_guide/
本文网址:
/news/9558599.html
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场
上一篇:
币安为何推出第三条链?这对BNB意味着什么?
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。