ethereum】的更多相关文章

以太坊(Ethereum)是一个运行智能合约的去中心化平台(Platform for Smart Contract),平台上的应用按程序设定运行,不存在停机.审查.欺诈.第三方人为干预的可能.以太坊平台由 Golang.C++.Python 等多种编程语言实现. 前段时间的The DAO事件让以太坊平台损失惨重,以太坊也分裂成ETC和ETH,平台的发展前景不明. 1.下载以太坊 官网地址 下载之后解压,运行 2.开始安装 2.1选择测试网络 前期选测试网络, 后期再讲主干网络 2.2输入密码 密…
安装go wget https://studygolang.com/dl/golang/go1.9.linux-amd64.tar.gz --no-check-certificatetar -zxvf go1.9.linux-amd64.tar.gzmv go /usr/local/echo "export GOROOT=/usr/local/go" >> /etc/profileecho "export PATH=$PATH:/usr/local/go/bin&…
描述 本文章主上下两篇 上篇:讲述以太坊devp2p与disc4节点发现协议 下篇:实践篇,实现如何获取以太坊所有节点信息(ip,port,nodeId,client) 正文 本片为下篇:实践篇,主要描述如何获取以太坊所有节点信息(ip.port.nodeId.clientId) 因为以太坊创世块发展到如今,中间也有过很多次的迭代,所以通讯多少也有改变,这里不做一一说明,就以目前V62 V63 版本来做就可以了 根据上篇的理论知识,我们先理一下思路,如何去获取: 列出一组已备的节点ip地址,便于…
描述 本文章分上下两篇 上篇:讲述以太坊devp2p与disc4节点发现协议 下篇:实践篇,实现如何获取以太坊所有节点信息(ip,port,nodeId,client,type,os) 正文 devp2p是一种应用层网络协议,是在对等网络中节点与节点之间进行通信的重要协议.节点可以支持任意数量的增加,devp2p能处理双方支持的协商过的协议,并通过单个链接传递消息. 节点用过使用RLPx发送消息进行通信.节点可以在他们希望的任何TPC端口上自由地通告和接受连接,可以在其上侦听和简历连接的默认端口…
1 环境安装 安装Ethereum 协议的Go语言的最新实现. git clone https://github.com/ethereum/go-ethereum.git make all cd build/bin sudo cp * /usr/local/bin/ 2 Ethereum组成 Ethereum包含以下几大模块. 模块 介绍 geth 基于命令行的Ethereum客户端.使用JSON RPC格式,基于HTTP.WebSocket或者IPC(Inter-process Communi…
核心数据结构: core.types.transaction.go type Transaction struct { data txdata // caches hash atomic.Value size atomic.Value from atomic.Value } Transaction.data type txdata struct { AccountNonce uint64 `json:"nonce" gencodec:"required"` Pric…
原文:https://davekiss.com/ethereum-web3-node-tutorial/   Ethereum took the web and cryptocurrency world by storm in 2017. In the span of one year, the price of 1 Ether skyrocketed from $8.24 USD to $750.00 USD – and for good reason. If you need convinc…
虚拟货币钱包 钱包顾名思义是存放$$$.但在虚拟货币世界有点不一样,我的帐户资讯(像是我有多少钱)是储存在区块链上,实际存在钱包中的是我的帐户对应的 key.有了这把 key 我就可以在虚拟货币世界证明我的身份.就可以更改我帐户的状态(像是送钱给别人).这样来说,虚拟货币钱包实际上是管理和储存 key 的工具.这把 key 就是我的私钥,而帐户是从我的公钥衍伸出来. -Ledger 虚拟货币钱包- BIP32, BIP39, BIP44 BIP 全名是 Bitcoin Improvement P…
Blockchain is one of the buzzwords in IT world during some last months. This term is related to cryptocurrencies, and was created together with Bitcoins. It is decentralized, immutable data structure divided into blocks, which are linked and secured…
https://github.com/PhABC/EIPs/blob/is-valid-signature/EIPS/eip-1271.md Standard Signature Validation Method for Contracts eip title author discussions-to status type category created 1271 Standard Signature Validation Method for Contracts Francisco G…
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1.md 介绍了什么是EIP等等的详细信息: eip title status type author created 1 EIP Purpose and Guidelines Active Meta Martin Becze <mb@ethereum.org>, Hudson Jameson <hudson@ethereum.org>, and others https:/…
https://github.com/alexvandesande/EIPs/blob/ee2347027e94b93708939f2e448447d030ca2d76/EIPS/eip-1077.md eip title author discussions-to status type category created requires 1077 Executable Signed Messages refunded by the contract Alex Van de Sande <av…
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-100.md 创世纪区块的难度是131,072,有一个特殊的公式用来计算之后的每个块的难度.如果某个区块比前一个区块验证的更快,以太坊协议就会增加区块的难度. 区块的难度影响nonce,它是在挖矿时必须要使用proof-of-work算法来计算的一个hash值. 区块难度和nonce之间的关系用数学形式表达就是: Hd代表的是难度. 找到符合难度阈值的nonce唯一方法就是使用proof-…
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1078.md eip title author discussions-to status type category created requires 1078 Universal login / signup using ENS subdomains Alex Van de Sande <avsa@ethereum.org> https://ethereum-magicians.o…
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md eip title author discussions-to status type category created requires 712 Ethereum typed structured data hashing and signing Remco Bloemen <remco@wicked.ventures>, Leonid Logvinov <logv…
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-191.md eip title author status type category created 191 Signed Data Standard Martin Holst Swende (@holiman), Nick Johnson <arachnid@notdot.net> Draft Standards Track ERC 2016-01-20 摘要 这个ERC提议了一个…
EIP 155:重放攻击保护——防止了在一个以太坊链上的交易被重复广播到另外一条链. 在看椭圆曲线时有提到,与r.s.v中的v相关 不同的共有链定义不同的chainId, 防止同一笔交易在不同的共有链上进行两次交易,防止重放攻击(其实就是防止测试网中的代币发送到主网中去) v = 35 + chainId *2 | v = 36 + chainId * 2 (奇偶校验) 在创世区块的json文件中有设置: "config": { , , ,//homestead和eip155两种版本都…
eip title author type status created requires 607 Hardfork Meta: Spurious Dragon Alex Beregszaszi Meta Final 2017-04-23 155, 160, 161, 170 Abstract This specifies the changes included in the hard fork named Spurious Dragon. Specification Codename: Sp…
EIP 161: State trie clearing - makes it possible to remove a large number of empty accounts that were put in the state at very low cost as a result of earlier DoS attacks. With this EIP, 'empty' accounts are removed from the state whenever 'touched'…
eip title author type category status created superseded-by 158 State clearing Vitalik Buterin Standards Track Core Replaced 2016-10-16 161 被EIP-161取代了 Specification For all blocks where block.number >= FORK_BLKNUM (TBA): In all cases where a state c…
eip title author type category status created 55 Mixed-case checksum address encoding Vitalik Buterin Standards Track ERC Final 2016-01-14 Specification(python) from ethereum import utils def checksum_encode(addr): # Takes a -byte binary address as i…
eip title author discussions-to status type category created 1102 Opt-in provider access Paul Bouchon <mail@bitpshr.net> https://ethereum-magicians.org/t/eip-1102-opt-in-provider-access/414 Draft Standards Track Interface 2018-05-04 Simple summary T…
eip title author discussions-to status type category created requires 1193 Ethereum Provider JavaScript API Ryan Ghods (@ryanio), Marc Garreau (@marcgarreau) https://ethereum-magicians.org/t/eip-1193-ethereum-provider-javascript-api/640 Draft Standar…
在上一篇文章中,通过和传统的 web程序相比较解释了以太坊平台的结构.作为一个开发者,学习新技术的最好的方式就是构建一个玩具程序. 在这篇文章中我们将会构建一个简单的“hello word”程序,这个程序是一个投票程序.   这个程序非常简单,包括:初始化一个参加者集合,让任何人为候选人投票,显示每一个候选人获得的投票数.我们的目的不仅仅是编写一个应用,我们的目的是学习应用编译,部署,交互的过程.   我故意的避免使用任何Dapp框架来构建这个应用,因为框架抽象了很多细节,这样你就不能够很好的理…
我学习以太坊区块链平台已经有一段时间了,这个真是让我越学越兴奋啊.网络上有很多关于以太坊的资料(文章,视频,平台官网),这些我们都很容易就获取到,由于平台还在快速迭代所以相关的资料内容普遍普遍滞后.自己基于所学整理了一个关于以太坊是什么,以及他是怎么工作的图.在开发者论坛以及线上社区中发现想了解这些新技术的人同样在学习的时候遇到了很多问题.这篇文章试图从一个web开发者的角度来解释以太坊.   如果你是一个web开发者,知道怎么很好的构架webapp的客户端以及服务端.   你有一个web应用托…
以太坊发币智能合约代码简单介绍: 发币代码如下(https://ethereum.org/token#the-code网站中获得): pragma solidity ^; interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) public; } contract TokenERC20 { // Public varia…
什么是以太坊(Ethereum) 以太坊(Ethereum)是一个基于区块链技术,允许任何人构建和使用去中心化应用的区块链平台.像比特币一样,以太坊是开源的,并由来自全世界的支持者们共同维护.与比特币仅提供了有限功能的脚本不同,以太坊提供了一个“图灵完备”的虚拟机,称为以太坊虚拟机(Ethereum Virtual Machine),简称EVM,用户可以在EVM上创建智能合约(Smart Contract).以太坊平台中的通用货币为以太币(Ether),简称ETH,以太币可用于账号间的转账交易或…
最近,一位小伙伴向我咨询问题,说他发现了一个诡异的现象.以太坊的区块链中居然有全是0的地址:0x0000000000000000000000000000000000000000 这究竟是怎么回事儿呢? 查看区块链后,发现还是蛮有趣的,且听我慢慢道来. 神秘而富有的地址 用在线的区块链浏览器查看下这个地址,我勒个去,居然有7228个ETH,价值500多w刀呢. 这究竟是何方土豪?这些ETH又从何而来呢? 创世区块 之前的文章<以太坊(Ethereum)创世揭秘>中曾经提到过,ETH最主要的来源并…
以太坊客户端Ethereum Wallet与Geth区别简介 最近有不少朋友在搭建交易平台,在咨询和技术交流的过程中发现很多朋友不太清楚Ethereum Wallet和Geth区别.甚至有朋友使用Geth的API接口来调用Ethereum Wallet客户端(本机安装).那么,今天就给大家简单介绍一下这两个客户端的区别. Ethereum Wallet简介 Ethereum Wallet客户端对应的是Mist项目,现在此客户端大多都称为Ethereum Wallet,也有称作Mist客户端的,知…
以太坊智能合约开发,Web3.js API 中文文档 ethereum web3.js入门说明 为了让你的Ðapp运行上以太坊,一种选择是使用web3.js library提供的web3.对象.底层实现上,它通过RPC 调用与本地节点通信.web3.js可以与任何暴露了RPC接口的以太坊节点连接. web3中有eth对象 - web3.eth 具体来表示与以太坊区块链之间的交互.shh对象 - web3.shh表示Whisper协议的相关交互.后续我们会继续介绍其它一些web3协议中的对象.可用…