如何区分合约地址还是普通账号地址?

如何区分合约地址还是普通账号地址?

  • Tiny熊
  • 发布于 2019-09-17
  • 阅读 ( 18367 )
  • ( 22 )

Etherscan API 文档 - 首页

Etherscan 是以太坊上应用最广泛的区块链浏览器,也提供 API 服务。 我们知道以太坊节点提供的API功能有限,尤其是需要一些多个区块相关的数据时,必须要依靠Etherscan API这样的服务。

Etherscan API是社区提供的服务,仅支持每秒 5 个GET或POST请求,可以在这个地址 API-Keys 申请一个Key。

区块链随机数的实现方案

在区块链上,由于一切信息都是透明公开的,提供一个安全实用的随机数是一个非常困难的问题。但是随机数是很多应用的基础,比如游戏,博彩,流程控制等。因此,提供一个实用可靠的随机数是基于智能合约的应用的迫切需求。

ethers.js 文档 - 开始使用ethers.js

ethers.js 库是为以太坊 提供的一个的小而完整的 JavaScript 库。

ethers.js 中文文档 - 首页

ethers.js库旨在为以太坊区块链及其生态系统提供一个小而完整的 JavaScript API 库 它最初是与 ethers.io 一起使用,现在已经扩展为更通用的库。

了解下不用助记词的ZenGo钱包及门限签名技术

区块链钱包作为数字货币世界的入口,它糟糕的体验把大部分人挡在门外,说的就是你:助记词备份(或私钥备份)。 现在一个激动人心的签名方案让体验提升一大步,也是博客的主角:门限签名技术(Threshold signatures: 也可翻译为阈值签名)及ZenGo钱包。

ZenGo钱包不需要备份助记词,交易也不需要输入密码,一切只需要FaceID/TouchID。

  • Tiny熊
  • 发布于 2019-07-27
  • 阅读 ( 13828 )
  • ( 20 )

智能合约构造函数中可以使用this吗?

智能合约的地址什么时候有效? 在构造函数中可以使用this吗?

  • Tiny熊
  • 发布于 2019-07-25
  • 阅读 ( 7470 )
  • ( 22 )

在以太坊侧链POA网络与xDai稳定币链进行DApp开发

由于以太坊又慢又贵的POW共识(尽管如此,以太坊依旧是最受欢迎的DApp平台),催生了各种以太坊侧链的方案用来减少以太主网的拥塞,前面我们介绍了Loom SDK, 这篇博客介绍下POA Network以及xDai。 如果大家想稳定的数字货币做一些智能合约应用,在Libra还没有上线之前,也许你可以尝试一下xDai。

  • Tiny熊
  • 发布于 2019-07-19
  • 阅读 ( 10935 )
  • ( 20 )

LIBRA 中的可验证随机数 VRF

Libra中采用的椭圆曲线是ED25519,而不是像以太坊比特币使用的是secp256k1. 虽然有不同,但是从本质上来说他们都是椭圆曲线,基本性质都是完全相同的.因此适用于S256曲线的VRF算法在Libra中也是相通的.

  • 白振轩
  • 发布于 2019-07-14
  • 阅读 ( 7405 )
  • ( 20 )

Solidity 中 uint 转为 bytes

Solidity 中很多Hash函数, 如:keccak256  等需要bytes作为一个参数,这个时候有时需要把uint转化为bytes 。

  • Tiny熊
  • 发布于 2019-07-10
  • 阅读 ( 13602 )
  • ( 20 )

Nightfall的系统结构、铸币实现及以太坊上通证的转移实现

本文主要是通过对架构设计、承兑型资产铸造、转移和销毁这几个层面进行了详细的理论和实现的分析。

Libra 源码分析:内存池mempool模块解读-3

内存池mempool模块解读第三篇,这部分我主要研究mempool中的节点间Tx同步. 关键代码都位于shared_mempool.rs中.

  • 白振轩
  • 发布于 2019-07-05
  • 阅读 ( 6907 )
  • ( 20 )

Libra 源码分析:内存池mempool模块解读-2

mempool模块对于Tx的管理核心全部集中在TransactionStore这个结构,他对外对接的是CoreMemPool结构. 从TransactionStore可以清楚看出缓冲池中Tx增删改查的逻辑.

作为缓冲池,我们先大致说一下这几个功能要考虑的问题.

  • 白振轩
  • 发布于 2019-07-04
  • 阅读 ( 7362 )
  • ( 20 )

Libra 源码分析: 内存池mempool模块解读-1

Libra 内存池(Mempool)模块主要用于缓存未打包的合法交易,该模块和比特币,以太坊源码中的TxPool功能等价,只要包含两个功能:

  1. 接收本地收到的Tx并验证
  2. 和其他节点之间互相同步Tx.

因为Libra使用的是不会分叉的PBFT共识,所以缓冲池的实现以及管理要简单许多.

  • 白振轩
  • 发布于 2019-07-03
  • 阅读 ( 8866 )
  • ( 20 )

Libra 源码分析:Libra 的准入控制(AC)模块

根据Libra的架构图,准入控制模块(AC:admission control,本文中简称AC模块)是位于验证器(Validator)与普通用户交互的入口。

  • 白振轩
  • 发布于 2019-07-02
  • 阅读 ( 8056 )
  • ( 20 )

Libra 源码分析:打通Libra CLI客户端与libradb模块

这篇文章目的是打通Libra CLI 命令行工具与底层数据库模块libradb之间的关系 Libra Cli指的是 Libra上的第一笔交易 中提到的命令行工具。 libradb 指的是storage/libradb模块 。

  • 白振轩
  • 发布于 2019-07-01
  • 阅读 ( 7138 )
  • ( 20 )

Libra 源码分析:Libra 中数据存储的 Schema

Libra数据存储使用的RocksDB这个KV数据库.并且Libra存储和以太坊基本上思路是一样的,就是一个MPT树来保存Libra这个超级状态机.

因为RocksDB中除了KV以外,还存在着ColumnFamilyName这一项,这个用起来有点像Bucket.

  • 白振轩
  • 发布于 2019-06-30
  • 阅读 ( 7276 )
  • ( 20 )

通过 Libra 学习 Protobuf

Protobuf是一种平台无关、语言无关、可扩展且轻便高效的序列化数据结构的协议,可以用于网络通信和数据存储,本文看看它如果应用在 Libra 中。

Libra 是Facebook 牵头发布的基于稳定币的区块链项目,大家可以通过社区翻译的[Libra 中文文档](https://learnblockchain.cn/docs/libra/docs/welcome-to-l

  • 白振轩
  • 发布于 2019-06-29
  • 阅读 ( 7911 )
  • ( 20 )

Tendermint 中文文档 - 首页

Tendermint Core 是一个区块链应用平台; 相当于提供了区块链应用程序的 Web 服务器、数据库以及用来开发区块链应用的所需的库。

就像为 Web 服务器 服务 Web 应用程序一样, Tendermint 服务于区块链应用。

Tendermint Core 使用拜占庭容错(BFT)共识算法及基于确定性有限状态机的状态机复制 (SMR)。

理解 Web 3 技术栈及区块链如何助力

Web 3.0 的技术栈虽然尚未完成开发,但是一个去中心化透明安全的Web 3.0 互联网时代即将来临,而区块链技术将是Web 3.0 的主要驱动力。

  • Tiny熊
  • 发布于 2019-06-19
  • 阅读 ( 10961 )
  • ( 20 )