Web3极客日报 #213

2020-07-19

Web3极客日报 #213

1. CKB,版本控制与区块链演进 https://mp.weixin.qq.com/s/kL0vA37nN1tlAblZhavUkA @Harry:Git 和区块链之间有着相似之处,这也意味着我们应该更谨慎地将 Git 的想法融入到区块链中,而不应该将相互冲突的设计选择引入到区块链中,这样区块链或智能合约开发者就可以享受到 Git 的一些已被证明的优点。   2. Awesome Github Profile README https://github.com/abhisheknaiidu/awesome-github-profile-readme...

Read More
2020-07-18

Web3极客日报 #212

1.合约开发者如何正确使用构造函数? https://www.chainnews.com/articles/064852937632.htm @River:  构造函数负责智能合约所有者 owner 等数据的初始化,正确使用构造函数对智能合约安全至关重要。   2. Git上的SQL查询工具 https://github.com/augmentable-dev/gitqlite @River: Gitqlite是一个在Git存储库上运行SQL查询工具。通过公共接口(SQL)对磁盘上的Git存储库进行查询,可根据自己的开发需求编写数据库查询语句,快速从 Git 仓库中提取精准信息。   3. 原型动画设计工具 https://www.drama.app...

Read More
2020-07-17

Web3极客日报 #211

1. 为什么区块链这么难? https://medium.com/@jimmysong/why-blockchain-is-hard-60416ea4c5c @Gala:区块链项目的挑战不仅来自超前想法的落地,也包括实现一个安全、可扩展、低成本的系统,这篇文章从多个角度说明设计区块链系统有多难,通过这些可以更好了解区块链发展现状,以及随后发展方向。   2. ETH 2.0 托管证明 https://github.com/PlatONnetwork/proof_of_custody @洋芋:通过安全多方计算(MPC)在以太坊2.0中实现了托管证明(Proof of Custody)算法。   3. Gnosis...

Read More
2020-07-16

Web3极客日报 #210

1. 论文精要 | 真实世界中Rust程序的安全实践 https://mp.weixin.qq.com/s/w6LGy2MFMXkCIZCB6JNe3g @Shooter:本文是对《理解真实Rust程序中的内存和线程安全实践》中的数据和观点的精要萃取。 Rust 虽然是安全语言,但是默认写的代码,尤其是用了unsafe或 写并发代码的时候,还会有安全风险。依赖于开发者对所有权、生命周期的理解,以及API设计的功力。 该论文的目的也是为了帮助更好地完善Rust及其社区,包括周边的工具,比如增强IDE的生命周期可视化、专属的bug检测工具等等。   2. blockchain dns seed 听过么?...

Read More
2020-07-16

Web3极客日报#209

1. 不同场景下,对于重复代码的不同解读 http://number-none.com/blow/john_carmack_on_inlined_code.html @肖雪洁:通常情况下,我们受 DRY 影响很深,接受的知识教育都告诉我们不要写太长的方法,尽量将代码拆成更小的 function,并加强复用。但是这是个亘古不变的道理么?大神 John Carmack 会告诉你,在需求不同的情况下,这里的取舍可能完全不同。对于 framerate critial,或者是 mission critical 的实时系统中,我们通常根深蒂固的写法,反而会造成不必要的 latency,给软件带来不必要的问题。从这个角度讲,DRY...

Read More
2020-07-14

Web3极客日报#208

1. Caliper区块链性能测试工具 https://github.com/hyperledger/caliper-benchmarks @Frozen:最近由于需要基于Fabric开发区块链应用,在学习过程中发现HyperLedger下的Caliper这个工具用来做性能测试还不错,不仅仅可以用来做Fabric测试,还能用来给Ethereum等其他链进行性能测试。 2. Golang使用内存虚拟文件系统提升IO https://www.jianshu.com/p/102b33f56cc7 @Frozen:做性能测试的过程中经常会遇到IO成为瓶颈。Gox语言中,1.06a版本以上,可以利用内置的github.com/topxeq/afero包来将内存中虚拟出一个文件系统。这样,如果内存足够大,完全可以利用它来提升一些文件IO处理的效率。 3. Gocker:想深入Docker,那就自己动手写一个 https://github.com/shuveb/containers-the-hard-way @Frozen:容器已成为应用程序在服务器上打包和运行的默认方式,但是Docker到底怎么做到的,这个项目选择了一条艰难的路,自己实现一套容器,让人深入理解容器技术。

Read More
2020-07-13

Web3极客日报 #207

1. [架构师选型之路]——文件转换开源库 https://mp.weixin.qq.com/s/5_MUHyeR-0VZD9yUJ7_aqQ @蔷薇:平常我们接触的文件格式除了浏览器可以很轻松解决的如图片、音视频等。还有如 word、pdf、excel、markdown、psd、zip 等格式的文件,需要借助库来实现转换才能被浏览器正常的读取及下载。   2. 绕过VSCode私货的其他选择 https://opensource.com/article/20/6/open-source-alternatives-vs-code @Frozen:微软以开源的方式发布了 VS Code,但是你从微软下载的版本其实并不是开源的。然而,你仍有办法以开源的方式使用 VS Code,或者直接选择其它的开源替代品。  ...

Read More
2020-07-12

Web3极客日报 #206

1. An evaluation context for Rust https://github.com/google/evcxr @周洋:项目是给rust语言写了一个jupter notebook的内核,可以在jupter上记rust笔记了。这里有个 sample:https://github.com/google/evcxr/blob/master/evcxr_jupyter/samples/evcxr_jupyter_tour.ipynb   2. 给 JavaScript 开发者看的 Rust...

Read More
2020-07-11

Web3极客日报 #205

1.  Yield Farming Games https://bankless.substack.com/p/yield-farming-games @NakaDaoLe:  来看看最近很火的Yield Farming 是怎么玩的。   2.【LeetCode/算法】油管上最好的Java 版本 LeetCode逐题详解  https://www.bilibili.com/video/BV1a4411e7oh?from=search&seid=10842968333180922920 @River:  LeetCode算法视频教程,让刷题不再苦恼。...

Read More
2020-07-10

Web3极客日报 #204

1. 最新的Redis核心数据结构介绍 https://www.diguage.com/post/redis-core-data-structure-1/ @shooter:Redis 目前是使用最广泛的缓存中间件,其突出特点就是支持多种常见的数据类型。 Redis 实现了linkedlist、ziplist、quicklist等数据结构实现数据的快速、高效的访问。如果用rust实现这些数据结构,你会怎么做呢?   2. Emin教授的雪崩协议 http://www.tucaod.com/5517.html?from=singlemessage @dream:雪崩协议Ava和同类型协议通过网路的重复采样操作建立亚稳态共识,在事件被创建并发送到验证者节点后,每个节点会随机选择一批固定数量相邻的节点询问,如果多数节点对事件叙述相同,那么即判断为真,如果大多数节点给出不同答案,则切换事件内容,重复采样将会多次进行直到达到收敛。 雪崩协议将共识问题与管理问题分开。每个都是模块化和独立化地处理。通过gossip协议与循环采样的智能组合形成共识。同时,通过抽样和投注股份实现公平治理,从而实现用户与其决策之间的直接联系。   3. 有锁并发、无锁并发和crossbeam简介...

Read More
2020-07-09

Web3极客日报 #203

1. League of Entropy 熵值联盟 https://www.cloudflare.com/leagueofentropy/ @陈锡亮:对很多行业来说,一个安全的随机数是非常必要的。但如何生成一个足够安全的随机数并没有那么容易。在某些情况,比如彩票,如何证明生成的随机数是真正随机的也不容易。于是熵值联盟成立了,目前有LavaRand, URand, Seismic Girl, ChaChaRand 和 InterplantaryRand 一共五位英雄,各自通过自己的超能力生成安全公平的随机数。任何服务都可以利用 drand 这个工具来得到公开或者私密的随机数,妈妈再也不用怕我生成的随机数不够安全了。...

Read More
2020-07-07

Web3极客日报#201

1. “技术中立”消亡史 https://mp.weixin.qq.com/s/hi6VKrFwUVzIc77uQjPTyQ @加一:TD-SCDMA事件、“快播案”、贺建奎事件……伴随着中文互联网的成长,技术中立论在中国从勃兴到夭亡,只用了短短十几年;而在欧美,“BLM”运动也将反对“技术中立”的时代巨浪引向了社交媒体平台甚至AI领域。 这一切是如何发生的?“技术中立”观念的消亡对人类科技的未来又究竟意味着什么?   2.性能之殇:从冯·诺依曼瓶颈谈起 https://zhuanlan.zhihu.com/p/52721155 @张晓:推荐一篇从体系架构的视角看系统能力提升的小综述。   3.Solidity 十大常见安全问题 https://www.chainnews.com/articles/769693254501.htm @加一:在 2018 年,我们(CheckMarx)曾对智能合约安全状况进行过初步研究,重点是...

Read More
2020-07-06

Web3极客日报#200

1. ZenUML助力程序开发 https://zenuml.com/ @周洋:已经有了PlantUML(或者别的什么工具了),你为什么还要做ZenUML呢?其实很简单,就是那些工具没有解决我要解决的问题。PlantUML也是从文本转图形,ZenUML也是从文本转图形。 但是两者的根本区别是,前者描述的是图形,ZenUML描述的是模型。比如下面的PlantUML和ZenUML画出的图是一样的。你单独看代码的话,PlantUML基本上不具有可读性,而ZenUML很容易明白其中的逻辑。 使用ZenUML的过程是建模的过程,图形只是中间产物,其它的工具实际上就是画图,画完了你还得重新构思如何设计程序  by 肖鹏。 2. 十大合约安全问题之2020 http://blog.hubwiz.com/2020/07/02/solidity-top-10-security-issues/ @Frozen:CheckMarx安全研究小组通过扫描公开的以太坊智能合约所发现的Solidity智能合约开发中常见的十大安全问题,其中未检查的外部调用和高成本循环分列排行榜前两名。 3. EVM操作码cheatsheet https://ethervm.io @Frozen:提供EVM操作码的速查简表和详表,方便以太坊智能合约开发人员、安全研究人员在开发、优化或分析以太坊智能合约的漏洞时作为指令手册使用。

Read More
2020-07-05

Web3极客日报 #199

1. 给开发者的密码学教程 https://cryptobook.nakov.com/ @Harry:这本免费的在线书籍是专门写给开发者的,包含了密码学知识以及相应的代码例子(Python)。内容包括哈希算法,MAC,秘钥衍生函数,公钥密码学,椭圆曲线加密算法,数字签名等,其中还讲解了以太坊的相关内容。书还没写完,喜欢追新的同学可以去学习学习了。   2. Pass: 遵循 Unix 哲学的密码管理器 https://www.passwordstore.org/ @Harry:Pass 是一个遵循 Unix 哲学开发而成的密码管理工具。使用 pass,你可以添加、移除、生成、检索、以及同步密码。密码通过...

Read More
2020-07-04

Web3极客日报 #198

1.以太坊POW挖矿报告 https://consensys.net/insights/pow-mining-report/ @NakaDaoLe:  此报告提供了以太坊自2015年启动以来POW工作量证明挖矿的见解,分析与指出了链上链下事件对于矿工与网络的影响,以及以太坊矿工们的生态系统状况。由consensys出品。   2. 开源、易扩展、方便集成的在线绘图工具 https://zhuanlan.zhihu.com/p/82136707 @River:  le5le-topology是一个开源、易扩展、方便集成的在线绘图(微服务架构图、网络拓扑图、流程图、活动图、时序图、类图等)工具。   3. What is Blockchain Technology?  https://blockgeeks.com/guides/what-is-blockchain-technology/ @River:...

Read More