登链社区

登链社区

登链社区是由一群区块链技术爱好者共同维护的一个秉承去中心化精神的区块链技术博客。博客最初由 Tiny 熊发起,后 HiBlock 区块链社区、磨链社区、登链学院 - 区块链技术培训 等其他的组织及个人加入贡献内容。经过一年多的发展已经是国内内容质量最高、访问量最大的区块链技术博客站。深入浅出区块链建站依赖一直秉承开放、协作、透明、链接、分享的价值观,致力于分享高质量的内容给开发者,帮助开发者成长。
20

文章

204752

浏览

微信公众号

  • 在以太坊生成随机数的几种方式(含代码)

    随机数都是由随机数生成器(Random Number Generator)生成的。随机数分为”真随机数“和”伪随机数“两种。真正的随机数是使用物理现象产生的:比如掷钱币、骰子、转轮、使用电子元件的噪音、核裂变等等,这样的随机数发生器叫做物理性随机数发生器,它们的缺点是技术要求比较高。----百度百科
    2020-06-04 15:19:09 1064
    • 共识算法解读:泛化的中本聪共识PHANTOM

      比特币运行了十几年都非常的安全,但是饱守诟病的问题就是它的吞吐量太低了,这也是由它的安全模型即最长链规则决定的。最长链规则要求所有的诚实节点能迅速接收到新创建的区块,因此,必须要等到一个区块完全传递到所有节点才能创建下一个块,并且保证了创建的"孤块"(orphan blocks)非常的少。那么从这个角度上来讲,就是吞吐量和安全之间必须进行权衡,而比特币协议的最长链规则限制了这个权衡规则,有没有更好的思路呢?
      2020-06-04 10:15:46 2875
      • 零知识证明 circom 及 snarkjs 入门教程[译]

        在本教程里将指导您创建第一个零知识 zkSnark电路。它将介绍各种编写电路的技术,并向您展示如何创建证明并在以太坊[1]上进行链外和链上验证。需要在电脑中安装Node.js,Node.js 的最新的稳定版本(或8.12.0)可以正常工作。不过,如果您安装了当前的最新版本的Node.js(10.12.0),将会看到显着的性能提升。这是因为最新版本本身包含大数库(Big Integer Libraries)。 snarkjs 库会利用这些特性(如果可用的话),从而将性能提高10倍(!)。
        2020-06-02 20:34:38 2300
        • Substrate 开发系列 - 环境搭建

          Polkadot 目标是成为一个连接各区块链的区块链(网络),Substrate 是 Polkadot 生态中重要的一环, 他是一套工具与框架的集合,让我们以模块化的方式来构建自己的区块链。Polkadot本身也是基于 Subsstrate 创建的。学习Substrate 开发的第一步就是环境搭建,本文的目标是把Substrate编译出来,用 substrate 启动一个区块链开发网络。
          2020-06-01 12:24:01 9444
          • Conflux共识算法解读

            上次我们讲到GHOST算法[2],它在中本聪共识的基础上提出的确定主链的算法,在保障了在高吞吐量的同时还保障了安全性(即不容易分叉,依然保证51%攻击)。但是GHOST算法的吞吐量是否还有进一步的提升空间呢?答案是肯定的!Conflux团队注意到不论是中本聪共识还是GHOST共识,他们都是只维护一条主链,非主链的区块则被抛弃了,因此也就导致了这些被丢弃的块不能为整个区块链系统提供安全性,并且也降低了吞吐量(因为这些块被抛弃了,实际上也就是说系统的带宽被浪费了,因此他们就不能为系统贡献吞吐量)。
            2020-06-01 12:18:38 9276
            • 以太坊中GraphQL简介及使用

              以太坊在去年升级的go-ethereum(geth)1.9.0大版本,除了性能得到大幅提升之外,引入了GraphQL,一种节点接口查询机制,用以补充JSON-RPC。本文将会介绍GraphQL是什么,Geth[1]为什么要引入GraphQL以及如何使用GraphQL三个方面对以太坊的GraphQL做一个介绍。
              2020-05-29 10:28:57 12190
              • Solidity 中 immutable (不可变量)与constant(常量)

                Solidity 0.6.5[1] 更新引入了一个新的关键字 immutable , 它与之前的constant常量有何不同呢?constant 修饰的变量需要在编译期确定值, 链上不会为这个变量分配存储空间, 它会在编译时用具体的值替代, 因此, constant常量是不支持使用运行时状态赋值的(例如: block.number , now , msg.sender 等 )
                2020-05-29 10:26:13 7337
                • 提高 DApp 开发效率的10个工具

                  开发去中心化应用(dApps)可能是一个严苛、耗时且压力很大的过程。传统应用中通常可能进行的实时升级和发布后进行 Bug 修复,而DApp中却很难进行。dApp 在部署到主网之前,必须经过严格的错误和漏洞测试,因为智能合约中的错误可能会导致资金、财产、记录等损失,同样让公司或开发人员的声誉受损。因此,需要在 dApp 交互给用户之前,必须进行全面测试。
                  2020-05-22 18:20:27 19961
                  • 给你的ERC777代币制作一个自己的专属账本

                    如果你持有一个ERC777[1]代币,那么你就可以利用ERC777代币中的钩子函数方法,给自己布署一个账本合约来记录自己的账户每一次接收到的代币数量和对方账户等信息。ERC777代币是ERC20代币合约的升级版,其中的最重要的升级功能就是每次进行转账的时候都会调用钩子函数,具体的方法我们可以在ERC777的代码中找到
                    2020-05-19 17:37:13 10592
                    • OpenZeppelin 7个最常使用的合约

                      OpenZeppelin的智能合约代码库[1]是以太坊开发者的宝库,OpenZeppelin代码库包含了经过社区审查的ERC代币标准、安全协议以及很多的辅助工具库,这些代码可以帮助开发者专注业务逻辑的,而无需重新发明轮子。
                      2020-05-14 10:52:40 6955
                      • 从技术角度聊聊比特币减半

                        准确来说是指比特币区块挖矿[1]奖励减半,在中本聪共识协议里, 为了鼓励大家参与记账,设置了记账的奖励,这个奖励也是比特币发行的方式。最初的区块奖励为50个比特币,每经过210000区块后,区块奖励将为上一次的一半。
                        2020-05-12 12:54:56 5718
                        • 技术分析 Lendf.me 被攻击,ERC777到底该不该用?

                          我在去年 9 月写过一篇ERC科普文章:ERC777 功能型代币(通证)最佳实践[1] ,文章里我推荐新开发的代币使用 ERC777 标准。Imtoken 使用 ERC777 发行 imbtc 其实是非常值得称赞的,典型的反面是 USDT (transfer不返回值)坑了多少项目。
                          2020-04-20 17:28:08 17703
                          • 使用 Embark 开发投票 DApp

                            前面我们基于Embark Demo[1] 介绍了 Embark 框架,今天使用 Embark 来实实在在开发一个 DApp:从零开发开发一个投票DApp。之前我们也使用Truffle 开发过投票DApp[2],大家可以自行对比两个框架的优劣。
                            2020-02-28 11:11:14 21982
                            • ENS(Ethereum Name Service)介绍

                              ENS(Ethereum Name Service)是以太坊域名服务,是一个基于以太坊区块链的分布式、开放和可扩展的命名系统。ENS的工作是将可读的域名(比如"alice.eth")解析为计算机可以识别的标识符,如以太坊地址、内容的散列、元数据等。ENS还支持"反向解析",这使得将元数据(如规范化域名或接口描述)与以太坊地址相关联成为可能。
                              2019-11-22 18:45:34 14346
                              • 即将到来的以太坊伊斯坦布尔有哪些更新

                                以太坊网络计划将于9069000区块号进行代号为:伊斯坦布尔(Istanbul)的升级。该块预计将于 2019 年 12 月 7 日,周六挖出。以太坊每次升级都有一个代号,在以太坊发展简史[1] 也介绍过,今年年初就进行过一次代号为君士坦丁堡的升级[2]。
                                2019-11-21 16:58:08 5837
                                • CREATE2 在广义状态通道中的使用

                                  君士坦丁堡硬升级中引入了一个新操作码 CREATE2[1] ,它使用新的方式来计算常见的合约地址,让生成的合约地址更具有可控性,通过 CREATE2 可以延伸出很多新的玩法,这篇文章来探讨下,在广义状态通道中的妙用。关于合约地址与状态通道,先科普一下相关知识点。
                                  2019-10-24 11:43:11 21244
                                  • Devcon5 有哪些开发者应该了解的内容

                                    Devcon 是以太坊年度开发者大会,每年的大会会介绍以太坊的最新发展以及开发者生态情况,今年是第五届,10月8日至11日在日本大阪举行,今年的主题主要围绕 ETH2.0 、DeFi以及ETH1.0 上的扩容。
                                    2019-10-17 14:10:42 5992
                                    • ERC777 功能型代币(通证)最佳实践

                                      想必很多同学都已经使用过ERC20 创建过代币[1],或许已经被老板要求在ERC20代币上实现一些附加功能搞的焦头烂额,如果还有选择,一定要选择 ERC777 。以下是一个遇到很多次的场景:有一天老板过来找你(开发者),最近存币生息很火,我们也做一个合约吧, 用户打币过来给他计算利息, 看起来是一个很简单的需求,你满口答应说好,结果自己一研究发现,使用 ERC20 标准没办法在合约里记录是谁发过来多少币,从而没法计算利息(因为接收者合约并不知道自己接收到ERC20代币)。
                                      2019-09-30 10:48:16 13852
                                      • 在以太坊侧链POA网络与xDai稳定币链进行DApp开发

                                        由于以太坊又慢又贵的POW共识(尽管如此,以太坊依旧是最受欢迎的DApp平台),催生了各种以太坊侧链的方案用来减少以太主网的拥塞,前面我们介绍了Loom SDK, 这篇博客介绍下POA Network以及xDai。如果大家想稳定的数字货币做一些智能合约应用,在Libra[1]还没有上线之前,也许你可以尝试一下xDai。
                                        2019-07-30 12:07:07 8272
                                        • 了解下不用助记词的ZenGo钱包及门限签名技术

                                          区块链钱包作为数字货币世界的入口,它糟糕的体验把大部分人挡在门外,说的就是你:助记词备份(或私钥备份)。现在一个激动人心的签名方案让体验提升一大步,也是博客的主角:门限签名技术及ZenGo钱包。
                                          2019-07-30 12:00:47 7812
扫二维码

扫一扫,关注微信公众号