三难困境 区块链的三难困境:去中心化、扩展性、安全性 牺牲扩展性方案 现在的比特币、以太坊都是通过牺牲扩展性来换取安全性的。 因为以太坊网络上的每笔交易,需要每个节点都计算、存储和广播一次。这意味着以太坊网络的计算资源,…
标签:以太坊
以太坊智能合约开发第七篇:智能合约与网页交互
原文发表于: 以太坊智能合约开发第七篇:智能合约与网页交互 上一篇中,我们通过truffle开发框架快速编译部署了合约。本篇,我们将来介绍网页如何与智能合约进行交互。 编写网页 首先我们需要编写一个网页。打开 smart…
以太坊POA共识机制Clique源码分析
以太坊中除了基于运算能力的POW(Ethash)外,还有基于权利证明的POA共识机制,Clique是以太坊的POA共识算法的实现,这里主要对POA的Clique相关源码做一个解读分析。 Clique的初始化在 Ether…
基于Vue、web3的以太坊项目开发及交易内幕初探
本文通过宏观和微观两个层面窥探以太坊底层执行逻辑。宏观层面描述创建并运行一个小型带钱包的发币APP的过程,微观层面是顺藤摸瓜从http api深入go-ethereum源码执行过程。 分析思路:自上而下,从APP深入EV…
以太坊智能合约开发第五篇:字符串拼接—Solidity
原文发表于: 以太坊智能合约开发第五篇:字符串拼接—Solidity 上一篇,我们实现了一个简单的智能合约。用户输入什么字符串,合约就原样返回什么。在文章最后抛出了一个问题:如果我们事先在合约里定义好 Hello 字符串…
以太坊智能合约开发第四篇:实现Hello World智能合约
原文发表于: 以太坊智能合约开发第四篇:实现Hello World智能合约 绝大部分开发者学习一门语言的时候,都是从输出一个 Hello World 开始。我们也从实现一个 Hello World 合约为切入点,开始进入…
以太坊智能合约开发第三篇:安装节点工具Ganache
原文发表于: 以太坊智能合约开发第三篇:安装节点工具Ganache 在正式开始编写智能合约之前,我们需要先安装一个以太坊客户端,也就是我们常说的以太坊节点。上一篇有提到Geth,但是它会消耗很多时间来同步以太坊的所有区块…
以太坊智能合约开发第二篇:理解以太坊相关概念
原文发表于: 以太坊智能合约开发第二篇:理解以太坊相关概念 很多人都说比特币是区块链1.0,以太坊是区块链2.0。在以太坊平台上,可以开发各种各样的去中心化应用,这些应用构成了以太坊的整个生态。目前,以太坊是区块链世界里…
以太坊智能合约开发第一篇:IDE对solidity语法的支持
原文发表于: 以太坊智能合约开发第一篇:IDE对solidity语法的支持 最近在研究以太坊智能合约的开发。随着研究的深入,准备写一个系列教程,将我的实际经验与大家分享,供大家参考借鉴。 solidity是什么? 以太坊…
运行以太坊私有网络
运行以太坊私有网络 network ID 以太坊以 netWorkID的形式来标识一个网络,推荐使用--networkid的形式去指定,主网络的networkid是1(默认的),如果你想要建立私有网络,你可以指定一个新的…
了解区块链的基本(第一部分):拜占庭容错(Byzantine Fault Tolerance)
区块链本质上是去中心化的系统,由不同的成员计算机组成,这些成员的行为取决于它们的动机和它们可以获得的信息。 每当一个新的交易被广播到网络中时,节点就可以选择将该交易包含在它们的帐簿副本中,或者忽略它。当组成网络的大多数成…
将智能合约部署到Rinkeby测试链上
引言 在上一篇文章中《快速上手第一个智能合约中》,我们介绍了如何编写与运行我们的第一个智能合约。但那只是将合约运行在了浏览器的区块链虚拟环境中,与区块链还是有一定的区别,另外也无法被其它人所使用。因此本文主要介绍如何使用…