以太坊(英语:Ethereum)是一个开源且具有智能合约区块链平台,设计上是为了解决比特币扩展性不足的问题,以太坊区块链上的代币称为以太币(Ether),代码为ETH
智能合约是一个活在以太坊系统内的自动代理人,他有一个自己的以太币地址,当用户向智能合约的地址发送一笔交易后,该合约就被激活,然后根据交易中的额外信息,合约会运行自身的代码,最后返回一个结果,这个结果可能是从合约的地址发出另外一笔交易
查看交易资讯: https://etherchain.org/
产生以太币地址
https://ethereum.stackexchange.com/questions/3542/how-are-ethereum-addresses-generated
var crypto = require('crypto'); var ecdh = crypto.createECDH('secp256k1'); var sha3 = require('js-sha3') var hash2 = crypto.randomBytes(32) console.log('--------') console.log('私鑰') console.log(hash2); //私鑰,64位十六進制數 //使用hash2.toString('hex')即可看到16進位字串 console.log('--------') // ECDH和ECDSA產生公私鑰的方式都相同 var publickey = ecdh.setPrivateKey(hash2,'hex').getPublicKey('hex') console.log('公鑰') console.log(publickey); //公鑰(通過橢圓曲線算法可以從私鑰計算得到公鑰) console.log('--------') var sha3_256Key = sha3.keccak256(publickey); console.log(sha3_256Key) var address = sha3_256Key.substring(24, sha3_256Key.length); // 取後40字 var address = "0x" + address; // console.log(address)
之后到https://etherscan.io/右上输入刚产生的地址确认是正确的格式
常见名词:
Dapp:
A Dapp (‘decentralized app’) consists of two parts: a frontend, written in HTML, and a backend (think of it as the ‘database’ for your frontend).
以太坊社区把基于智能合约的应用称为去中心化的应用程序(Decentralized App)。DApp的目标是(或者应该是)让你的智能合约有一个友好的界面
geth:
geth is the the command line interface for running a full ethereum node implemented in Go.
JSON-PRC:
https://github.com/ethereum/wiki/wiki/JSON-RPC
简单说即为一个会回应json格式的server
https://github.com/ethereum/wiki/wiki/JSON-RPC
IPC:
为系统中两个两个执行绪互相传递资料的方法
https://zh.wikipedia.org/wiki/行程间通讯
http://albert-oma.blogspot.tw/2013/06/linux-ipc.html
Ethash:
以太币(ether)的挖矿算法叫做Ethash, 又名Dashimoto (Dagger-Hashimoto),是Hashimoto算法结合Dagger之后产成的一个变种
Dag:
https://github.com/ethereum/wiki/blob/master/Dagger-Hashimoto.md
https://github.com/ethereum/wiki/wiki/Ethash-DAG
EVM:
以太坊虚拟机,轻量级虚拟机环境,是以太坊中智能合约的运行环境
Gas:
燃料,每执行一条合约指令会消耗一定的燃料,当某个交易还未执行结束,而燃料消耗完时,合约执行终止并回滚(rollback)状态,可与ether进行换算,但不可交易。
Gas Price: 每单位Gas多少钱( 会变动 )
Gas Limit: 多少单位个Gas( 通常不会变动 )
交易手续费Tx Fees = Gas Limit * Gas Price
以太坊(Ethereum)Geth (go-ethereum) 教学
简介 https://geth.ethereum.org/ ethereum的Go语言实现 安装 https://geth.ethereum.org/downloads/ git clone https://github.com/ethereum/go-ethereumsudo apt-get install -y build-essential golangcd go-ethereummake geth Mac brew tap ethe
Ether单位
可参考: http://ethdocs.org/en/latest/ether.html
相关实用网站
1、以太坊官方网站:https://ethereum.org/
2、以太坊原始码(官方):https://github.com/ethereum/
3、以太坊说明文件(官方):http://www.ethdocs.org/en/latest/index.html
4、以太坊网路状态(官方):https://ethstats.Net /
5、以太坊相关工具与资源网站(官方):http://ether.fund/
6、Solidity说明文件(官方):http://solidity.readthedocs.io/en/latest/
7、以太坊网路扫描(官方):http://etherscan.io/
8、以太坊官方部落格:https://blog.ethereum.org/
9、以太坊wiki百科:https://github.com/ethereum/wiki/wiki
10、以太坊中文爱好者网站:http://ethfans.org/
11、以太坊的gitter的实时交流网站:https://gitter.im/orgs/ethereum/rooms
12、以太坊的官方论坛:https://forum.ethereum.org/
13、以太坊第三方强大的IDE(Solidity IDE):https://live.ether.camp/
14、以太坊开发框架Truffle说明书:http://truffle.readthedocs.io/en/latest/
15、以太坊开发框架dapple说明书:http://dapple.readthedocs.io/en/master/
16、以太坊官方推荐开发框架Meteor说明书:https://github.com/ethereum/wiki/wiki/Dapp-using-Meteor
Testnet
取得免费的ether
https://ropsten.ether.camp/transactions
http://faucet.ropsten.be:3001/
查看区块情况 https://testnet.etherscan.io/
METAMASK
https://metamask.io/
chrome的plugin,可以操作ethereum
API Provider
https://infura.io/#how-to
线上钱包(类似线上版的MIST)
https://wallet.ethereum.org/
安装metamask后可以打开此网站,之后即可读取本地钱包资料
并且使用metamask切换network
共识机制介绍
POW(Proof of Work,工作证明)是指获得多少货币,取决于你挖矿贡献的工作量,即为一般的矿机或显卡挖矿
POS(Proof of Stake,股权证明)根据你持有货币的量和时间进行利息分配的制度,在POS模式下,挖矿收益正比于你的币龄,而与电脑的计算性能无关,币龄即为持有以太币的时间
PoA ( Proof of Authority)
有别于PoW (Proof-of-Work)需要解数学难题来产生block,PoA是依靠预设好的Authority nodes,负责产生block。
可设定Authority node数量。可指定产生block的时间等
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
门罗币/Monero (XMR)挖矿程式使用教学
门罗币/Monero (XMR)官方挖矿程式 https://getmonero.org/downloads/ 下载后解压缩并点击monero-wallet-gui.exe CoinHive教学 一个可以使用浏览器挖矿的服务 https://coinhive.com 1.先到网站注册 建议用gmail许多
原创文章,作者:掘金K,如若转载,请注明出处:https://www.20on.com/117108.html