总览 以太坊虚拟机(EVM)是以太坊中智能合约的运行环境。它不仅被沙箱封装起来,事实上它被完全隔离,也就是说运行在EVM内部的代码不能接触到网络、文件系统或者其它进程。甚至智能合约与其它智能合约只有有限的接触。 账户 以太坊中有两类账户,它们共用同一个地址空间。外部账户,该类账户被公钥-私钥 ...
以太坊数据库中都存了什么 以太坊使用的数据库是一个NOSQL数据库,是谷歌提供的开源数据leveldb. 这里尝试通过分析以太坊数据库存储了什么来分析以太坊可能为我们提供哪些关于区块链的API. 存储内容 NOSQL是一个key value数据库,可以当做一个磁盘上的map数据结构.有以下key value的映射. block number block hash gt block header b ...
2017-08-30 17:28 0 1763 推荐指数:
总览 以太坊虚拟机(EVM)是以太坊中智能合约的运行环境。它不仅被沙箱封装起来,事实上它被完全隔离,也就是说运行在EVM内部的代码不能接触到网络、文件系统或者其它进程。甚至智能合约与其它智能合约只有有限的接触。 账户 以太坊中有两类账户,它们共用同一个地址空间。外部账户,该类账户被公钥-私钥 ...
理解什么是以太坊? 简单的说:比特币背后的核心技术是区块链技术,在区块链里加进“智能合约”便是以太坊(Ethereum)。 Ethereum(以太坊)自称“世界计算机”,可以用代码编程的方式制造一个“信任的机器”,代码即法律,你可以在上面做交易而不用担心你的钱被某个公司卷走,因为它本身不受 ...
RLP (递归长度前缀)提供了一种适用于任意二进制数据数组的编码,RLP已经成为以太坊中对对象进行序列化的主要编码方式。RLP的唯一目标就是解决结构体的编码问题;对原子数据类型(比如,字符串,整数型,浮点型)的编码则交给更高层的协议;以太坊中要求数字必须是一个大端字节序的、没有零占位的存储的格式 ...
以太坊的crypto模块 该模块分为两个部分一个是实现sha3,一个是实现secp256k1(这也是比特币中使用的签名算法). 需要说明的是secp256k1有两种实现方式,一种是依赖libsecp256k1,需要cgo,另外一种是依赖github.com/btcsuite/btcd,这是一个 ...
Go语言具有简单易学、功能强大,可跨平台编译等众多优势,所以这里选择以Go语言切入以太坊。 开始之前需要以下环境: Ubuntu(这里以ubuntu16.04为例) geth Ubuntu16.04安装Go1.9.2 在与以太坊交互之前,我们需要安装Go语言开发工具,这里选择 ...
以太坊钱包开发相关协议 理解开发HD 钱包涉及的 BIP32、BIP44、BIP39 - 理解钱包开发核心原理和概念 使用 ethers.js 库 开发网页钱包 通过开发一个简单的网页,可以快速掌握钱包开发原理。 使用ethers.js开发以太坊Web钱包1 - 创建钱包 ...
以太坊的共识机制是 PoW(Proof of Work 工作量证明机制),使用的算法是Ethash,这种算法是对 Dagger-Hashimoto算法的改良版本,流程大概如下 1.对于每一个块,首先计算一个种子(seed),该种子只和当前块的信息有关;然后根据种子生成一个32M的随机数据 ...
关键字:以太坊,加密货币,crowdsale,geth,console,web3.js 以太坊简介 一句话简介:以太坊是一个基于功能齐全的编程语言构建的众多去中心化区块链应用的平台。 下面来解读一下这句话: 平台:首先以太坊是一个平台,这个平台上面有很多应用 ...