Gala

2020-11-28

Web3极客日报 #339

1. 反编译以太坊智能合约 https://medium.com/coinmonks/decompiling-ethereum-smart-contracts-b283ae80f8a0 @Gala:智能合约以16进制存储在以太坊中并执行,但对于去中心化的应用来说公开合约是获取信任的方式,当Dapp未公开我们可以反编译来对合约进行验证,本文介绍几种反编译方式,感兴趣可以了解下。   2. 部署去中心化网站 https://towardsdatascience.com/decentralizing-your-website-f5bca765f9ed @Gala:想象一下如果你的网站静态资源存放在中心化节点中,你的网站crash的概率,而且带宽的费用将急剧下降,虽然当前去中心化存储还在发展但不妨碍你去了解它,文章介绍如何去中心化部署你的网站。   3. Go和JavaScript的Wasm性能对比 https://medium.com/vacatronics/webassembly-in-go-vs-javascript-a-benchmark-6deb28f24e9d @Gala:Wasm越来越热,大家都开始试用、尝鲜,本文是Go和JavaScript的性能对比文章,感兴趣可以了解下。  

Read More
2020-11-20

Web3极客日报 #332

1. Java、Go、Rust语言对比 https://medium.com/@dexterdarwich/comparison-between-java-go-and-rust-fdb21bd5fb7c @Gala:随着Go、Rust越来越热,讨论的也越来越多,这篇文章对比了Java、Go、Rust语言,可以作为一个选择语言参考。   2. 如何实现一个ERC721市场 https://medium.com/coinmonks/how-to-implement-an-erc721-market-f805959ddcf @Gala:文章介绍了如何编码一个ERC721市场程序,感兴趣小伙伴可以看下。   3. 如何学习分布式系统 https://medium.com/@polyglot_factotum/how-i-am-learning-distributed-systems-7eb69b4b51bd @Gala:分布式系统有更广泛应用,现在互联网、区块链广泛在使用分布式技术,跟着作者看看如何学习分布式系统。  

Read More
2020-11-13

Web3极客日报 #325

1. 理解数字世界中的纸张:PDF https://zhuanlan.zhihu.com/p/44360779 @shooter:这篇文章告诉我们为啥PDF悄悄地成为世界上最重要的文件格式。   2. 在以太坊用VRF生成随机数 https://medium.com/coinmonks/how-to-generate-random-numbers-on-ethereum-using-vrf-8250839dd9e2 @Gala:由于区块链的特性,无法在区块链上直接生成可靠的随机数,VRF是一种可靠随机数生成方法,感兴趣小伙伴可以研究下。   3. 用关系数据库保存以太坊事件 https://medium.com/coinmonks/caching-ethereum-events-with-mysql-18bfa3558355 @Gala:对于很多查询和检索的场景,普通的api接口可能无法提供,这时候可以使用传统的数据库来同步这些,随后可以使用SQL来查询自己需要的数据。  

Read More
2020-11-06

Web3极客日报 #318

1. npkill https://npkill.js.org/ @洋芋:一个工具,可以轻松地查找 node_modules 文件夹,并且可以方便地进行删除。   2. easy rust https://github.com/Dhghomon/easy_rust @洋芋:本书适用于那些仅熟悉简单英语的人们学习 Rust 语言。   3....

Read More
2020-10-30

Web3极客日报 #311

1. 开源大菠萝2 https://github.com/OpenDiablo2/OpenDiablo2 @Gala:大菠萝大家应该都熟悉吧,就是暗黑破坏神,该项目是用Go重写的大菠萝2,大家可以在玩游戏同时欣赏代码。   2. 怎么在以太坊进行低费转账? https://medium.com/coinmonks/how-to-implement-gas-less-transactions-on-ethereum-9f9273d2f059 @Gala:随着以太交易越来越拥挤,Gas费也是水涨船高,那怎么才能实现低费率转账呢?文章介绍一种新的方式让费率降得更低。   3. 如果用Go编写WebAssembly程序 https://medium.com/vacatronics/how-to-write-a-webassembly-app-in-go-fd769fa2b64b @Gala:现在WebAssembly对各个语言支持越来越好了,之前推荐过Rust教程,今天是Go的版本。  

Read More
2020-10-23

Web3极客日报 #304

1. 用Go包装Minecraft服务器 https://levelup.gitconnected.com/lets-build-a-minecraft-server-wrapper-in-go-122c087e0023 @Gala:如果你喜欢玩Minecraft,肯定知道Minecraft服务器,通过它可以和其他玩家联机玩耍,但是为了扩展Minecraft服务器能力,比如接入聊天机器人、增加API等等,可以参考本文用Go包装Minecraft服务器,提供更丰富服务器功能。   2. 如何给智能合约写单元测试 https://medium.com/upstate-interactive/a-simple-guide-for-how-to-write-unit-tests-for-smart-contracts-8ec4b645f57b @Gala:单测是开发中比较重要一种测试手段,如果可以给智能合约写单测就可以进一步提高代码质量,文章引导开发者如何设计智能合约使用的单元测试。   3. 如何在Substrate优雅获取链下数据? https://substrate.dev/docs/zh-CN/knowledgebase/runtime/off-chain-workers @Gala:在Substrate提供了原生获取链下数据的方式,通过off-chain-workers可以简单把数据上链,感兴趣的同学可以进一步研究下~  

Read More
2020-10-16

Web3极客日报 #297

1. Goroutine泄露检测器 https://medium.com/a-journey-with-go/go-goroutine-leak-detector-61a949beb88 @Gala:由于Go原生支持协程方式用于并发操作,Goroutine往往会滥用,当线上系统业务压力很高时,可能出现Goroutine泄露导致内存爆炸,这时候可以用文章推荐的工具进行排查解决,感兴趣同学可以研究下。   2. 如何在智能合约中调用服务API https://medium.com/better-programming/how-to-call-apis-from-ethereum-smart-contracts-e2f1500198c7 @Gala:对于在以太坊中构建的智能合约,很多场景需要和外部数据交互,这时候需要Oracle来帮忙,文章介绍一种方式使用chainlink来帮助智能合约调用外部服务。   3. 在以太坊构建一个可验证随机数的抽奖合约 https://medium.com/better-programming/build-a-verifiably-random-lottery-smart-contract-on-ethereum-c1daacc1ca4e @Gala:抽奖是一个在游戏和日常很常见的场景,在区块链中如何实现一个良好的随机数生成避免攻击是很关键的,文章采用VRF方式构建了一个抽奖合约,感兴趣同学可以研究下。  

Read More
2020-10-09

Web3极客日报 #290

1. 零知识证明&隐私峰会 http://zkp-privacy-summit.dystopialabs.com/ @洋芋:http://zkp-privacy-summit.dystopialabs.com/ 10月19日,此次峰会是针对开发者,将了解有关零知识证明,金融隐私等方面的最新研究与创新,是一次的免费学习的机会,会议由Mina,Starkware,Enigma/Secret Network,Zcash,Findora和Zcoin共同组织。   2. 使用Substrate快速创建区块链 https://learnblockchain.cn/docs/substrate/docs/tutorials/create-your-first-substrate-chain/ @Gala:Substrate是polkadot推出的区块链模板,相比于常见的区块链项目,Substrate专门用于快速创建区块链,具有开箱即用、高性能、扩展性好的优势。   3. Rust跨平台开发手机APP https://medium.com/swlh/rust-cross-platform-mobile-development-9117a67ac9b7 @Gala:文章探索用Rust跨平台开发手机客户端,随着开发者对Rust的推动,现在你可以在各种常见领域使用Rust开发了。...

Read More
2020-09-25

Web3极客日报 #278

1. 用Go实现限流算法 https://medium.com/@justin.graber/rate-limiting-in-golang-f3ed2c62df36 @Gala:为了保证系统稳定,一般会使用限流功能去保护系统,文章详细说明如何用Go实现一个限流器。   2. 9分钟快速搭建一个电报机器人 https://medium.com/swlh/build-a-telegram-bot-in-go-in-9-minutes-e06ad38acef1 @Gala:电报对开发者更开放,不会面临某信的封杀,所以可以愉快的接入,随后非常方便运维粉丝群等一些群组。   3. 7个你会一直使用的智能合约 https://medium.com/better-programming/7-openzeppelin-contracts-you-should-always-use-5ba2e7953cc4 @Gala:OpenZeppelin是一个以太坊的智能合约仓库,作者挑选了其中7个常用的合约,可以降低开发者工作量,同时久经考验的合约有更好的安全性。  

Read More
2020-09-18

Web3极客日报 #272

1. 数字人民币要取代谁 https://www.financialnews.com.cn/ll/gdsj/202009/t20200914_200849.html @Gala:数字人民币,已经传了很久了,但它到底是什么东西,媒体却不提。9月14号人民银行的副行长写了一篇文章,第一段就回答了这个问题。   2. 有关区块链验证的哲学 https://ethfans.org/posts/a-philosophy-of-blockchain-validation @Gala:区块链建立的基础就是数据透明、可验证,但实际情况有多少人会验证呢?文章中v神探讨并回答了这类挑战。   3. 8个项目让你快速成为全栈工程师 https://dev.to/nghiemthu/8-projects-with-modern-designs-to-become-a-full-stack-master-2020-14j9 @Gala:文章从博客页面、任务管理页、登录页、图片浏览页等前后端设计实现,让你快速成为全栈工程师。  

Read More
2020-09-11

Web3极客日报 #265

1. 如何降低以太坊Gas费用? https://github.com/Phala-Network/prelaunch-token/blob/master/contracts/MerkleAirdrop.sol @尹航@Phala:以太坊Gas费水涨船高,哪怕是普通的转账都要几十块钱,一次空投下来很轻易就用掉上万元Gas。为了解决这个问题,Phala团队实现了一个为项目方设计的极致省钱的空投/发奖合约——Merkle Airdrop。基于Merkle Tree,每次调用可以添加无限数量的收款人,数据存放于IPFS,而链上只需要提交Merkle Root,在极致的压缩下,一次空投操作的开销可以低至一次普通转账。   2. 使用设计模式编写Bus服务 https://medium.com/better-programming/learn-go-by-building-a-bus-service-6c11e7b81b92 @Gale:文章运用了多种设计模式实现Bus服务,同时也是Go语言实现设计模式的一个参考。   3. Istio Pilot...

Read More
2020-09-04

Web3极客日报 #258

1. 为什么 SNARKs 是未来十年的技术 https://codaprotocol.com/blog/why-snarks-are-the-technology-of-the-coming-decade @洋芋:对零知识证明技术感兴趣的可以阅读了解一下。   2. MetaMask移动端上线~ https://consensys.net/blog/news/metamask-mobile-now-available-on-android-and-ios/ @Gala:MetaMask移动端终于上线了,喜欢小狐狸的同学可以在手机上探索和体验Web3了~   3. 什么是CGROUP? https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/6/html/resource_management_guide/ch01 @Gala:当你使用Docker时,底层就是使​​​用​​​cgroup实现资源管理的,通过cgroup控​​​制​​​对​​​系​​​统​​​资​​​源​​​的​​​分​​​配​​​、​​​优​​​先​​​顺​​​序​​​、​​​拒​​​绝​​​、​​​管​​​理​​​和​​​监​​​控​​​,可​​​更​​​好​​​地​​​根​​​据​​​任​​​务​​​和​​​用​​​户​​​分​​​配​​​硬​​​件​​​资​​​源​​​,提​​​高​​​总​​​体​​​效​​​率​​​。​​​...

Read More
2020-08-28

Web3极客日报 #252

1. Solidity合约安全最佳实践 https://media.consensys.net/solidity-best-practices-for-smart-contract-security-54d309a622c2 @Gala:该文章从专业的角度,提出几点建议,帮助开发者在编写Solidity合约时,加固合约的安全性。   2. 用Go2泛型实现OrderedMap https://medium.com/@rocketlaunchr.cloud/ordered-maps-for-go-using-generics-875ef3816c71 @Gala:现在Go的泛型已经可以在playground测试了,终于摆脱了interface{}的束缚,文章通过实现OrderedMap,教大家理解Go2泛型。   3. Go的流式操作API https://medium.com/@vladimirvivien/a-stream-processing-api-for-go-842676efe315 @Gala:业务代码除了处理if-else就是各种集合操作,有了流式操作,代码写的飞快。  

Read More
2020-08-21

Web3极客日报 #245

1. Go with Examples: 保持模块的兼容性 https://medium.com/@ngtzeyang94/go-with-examples-keeping-your-modules-compatible-2bab5a5b9022 @Gala:当你开始为别人提供API或者模块时,保持模块的兼容性是非常重要的,这篇文章介绍了如何在修改代码时保证模块的兼容性,避免出现严重的线上故障。   2. 当DRY不好用的时候,试试WET吧 https://medium.com/better-programming/when-dry-doesnt-work-go-wet-6befda0444bf @Gala:很多时候,开发者总想编写最优解的代码,保持DRY,但是实际编程中随着需求变化往往并不如意,本文通过WET让开发者有另一种选择,在没那么DRY时,降低代码重构和复杂度增加的风险。   3. 为什么你应该避免使用Go指针 https://medium.com/better-programming/why-you-should-avoid-pointers-in-go-36724365a2a7...

Read More
2020-08-14

Web3极客日报 #238

1. Git的是个常用命令=动画版 https://mp.weixin.qq.com/s/FI1r0RfJtmAObmcSvuXK4A @Frozen:文章通过动画形象的表示常用的10个Git命令,利用深刻理解Git的操作。   2. 深入以太坊-如何存储数据 https://medium.com/hackernoon/getting-deep-into-ethereum-how-data-is-stored-in-ethereum-e3f669d96033 @Gala:文章详细介绍了以太坊的存储结构,包括链数据、私钥等等,可以深入理解以太坊的底层实现。   3. 区块链与预言机 https://medium.com/gardeneroracle/blockchains-and-oracles-a-primer-db7af7abd39a @Gala:文章介绍了去中心的基础组件-预言机的底层原理和基本实现,预言机座位区块链必备的基础设施可以用于DeFi、预测系统等等已用。  

Read More