DPOS共识算法-by BM

这是缺失的白皮书,关于DPOS,Delegated proof of stake,委托权益共识算法的解析1。本文将分析DPOS是如何工作的,以及说明算法的有效性。一份更早的关于DPOS的介绍可以在 https://bitshares.org/technology/delegated-proof-of-stake-consensus/ 找到。然而,文中的某些方面不是纯粹的实际共识流程。

阅读更多→   2017/6/4 posted in  项目

Solidity发送ether最佳实践(二十四)|入门系列

发送ether的最佳实践1

send()与fallback():

Solidity中当签名不匹配任何的函数方法时,将会触发回退函数。比如,当你调用address.call(bytes4(bytes32(sha3("thisShouldBeAFunction(uint,bytes32)"))), 1, "test")时,EVM实际尝试调用地址中的thisShouldBeAFunction(),当这个函数不存在,会触发fallback函数。

由于send()函数指定了一个空函数签名,所以当fallback函数存在时,它总是会调用它。

阅读更多→   2017/6/3 posted in  Solidity入门系列

Solidity的fallback函数(二十三)|入门系列

fallback函数,回退函数,是合约里的特殊无名函数,有且仅有一个1。它在合约调用没有匹配到函数签名,或者调用没有带任何数据时被自动调用。

阅读更多→   2017/6/3 posted in  Solidity入门系列

Solidity的event的支持指引(二十二)|入门系列

这篇文章是来自ConsenSys1。事件和日志在以太坊中异常重要。因为它是合约之间,合约与终端间的沟通桥梁。在传统的Web开发中,服务器通过前端回调函数返回结果(这里更多的想说明的是结果同步返回)。在以太坊中,当交易打包后,某个事件才真正发生,合约将这个事件写入区块链后,前端才能进行对应的响应。有各种方式来跟踪事件和日志。这个技术指引将会解释一些关于事件的困惑,以及对应的解决方案示例。

阅读更多→   2017/5/28 posted in  Solidity入门系列

Solidity的event事件(二十一)|入门系列

阅读更多→   2017/5/28 posted in  Solidity入门系列

Solidity的函数修改器的一些最佳实践(二十)|入门系列

在上篇系列文章中,我们介绍了函数修改器相关知识。这篇文章,我们来看一些应用函数修改器的最佳实践1。主要是对于单管理员,多管理员,数据检验,以及防重入漏洞等相关问题,应用函数修改器的实践。

阅读更多→   2017/5/21 posted in  Solidity入门系列

Solidity的函数修改器(十九)|入门系列

函数修改器(Function Modifiers)1可以方便的控制函数的逻辑,比如可以在某个行为执行前检查某个前置条件,函数修改器还支持继承和重写。可以大家会想,一些检查行为提升为一个语言级特性到底是必要的么?由于整个区块链运行环境是透明的,分布式的,且是图灵完备的。为保证其上运行的代码安全,势必存在大量的检查行为,升级为语言特性可以让检查代码复用,看起来也更简洁。

阅读更多→   2017/5/20 posted in  Solidity入门系列

Solidity的getter访问器(十八)|入门系列

对于所有public的状态变量,Solidity语言编译器,提供了自动为状态变量生成对应的getter(访问器)的特性1。语言暂不提供setter,因为不能很好控制访问权限的改值函数,不一定实用。

状态变量所创建的访问器函数,与变量同名。以interal访问时,按状态变量的方式使用,若以external的方式访问时,则要通过访问器函数,下面来看一个的例子:

阅读更多→   2017/5/14 posted in  Solidity入门系列

在以太坊上创建一个智能合约(十七)|入门系列

我们写好一个合约后,一个合约如何部署到以太坊网络,并实现合约函数的调用呢?合约部署到以太坊网络上,也是一个类似交易的过程。首先向全网发送一个合约创建的交易,待矿工打包交易,并获得全网的认可从而生效后,则得到合约的地址;既而向这个地址发送消息调用,实现调用合约的某个函数。

阅读更多→   2017/5/13 posted in  Solidity入门系列

Solidity变量赋值及元组的解构赋值(十六)|入门系列

1. 赋值规则

赋值是将一个变量赋值给另一个变量。赋值时遵循以下规则:

1.1 赋值给状态变量

赋值给状态变量,总是值传递。

  • 从状态状态赋值给状态变量总是创建一个无关的拷贝。
阅读更多→   2017/5/7

友情链接: 区块链技术中文社区