加载中 ...

以太坊 | 以太坊开发入门

2019-05-11 00:55 编辑:btc268.com 来源:区块链资讯

1. gETH搭建私有节点

  ??geth搭建私有节点有两种方式,第一种是普通模式,需要配置创世文件;第二种是开发者模式,无需创世文件,更加便捷。

普通模式创建名为genesis.json的空文件,并在其中写入如下内容{
"config": {
"chainId": 15,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"alloc" : {},
"coinbase" : "0x0000000000000000000000000000000000000000",
"difficulty" : "0x8000",
"extrADAta" : "",
"gasLimit" : "0xffffffff",
"nonce" : "0x0000000000000042",
"mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp" : "0x00"
}初始化创世配置文件geth --datadir ./data/ init genesis.json启动geth进程geth --datadir ./data --networkid 15 --port 30303 --rpc --rpcaddr 0.0.0.0 --rpcport 8545 --rpcvhosts "*" --rpcapi 'db,net,eth,web3,personal' --rpccorsdomain "*" --nodiscover console 2> 1.log

开发者模式

在geth的启动命令中添加--dev等参数geth --datadir ./data --networkid 15 --port 30303 --rpc --rpcaddr 0.0.0.0 --rpcport 8545 --rpcvhosts "*" --rpcapi 'db,net,eth,web3,personal' --rpccorsdomain "*" --nodiscover --dev --dev.period 1 console 2> 1.log2. geth基本命令账户管理

创建账户

personal.newAccount("passWord")//password为账户密码

查看账户

eth.accounts//查看账户列表

查询余额

eth.getBalance(eth.accounts[1])

解锁账户

personal.unlockAccount(eth.accounts[1])

锁定账户

personal.lockAccount(eth.accounts[1])挖矿

开启挖矿

miner.start()

停止挖矿

miner.STOp()

查看挖矿账户

eth.coinbase

设置挖矿账户

miner.setEtherbase(eth.accounts[1]) 其他命令

查看区块高度

eth.blockNumber

转账

eth.sendTransaction({from:eth.accounts[0],to:eth.accounts[1] ,value:web3.toWei( 10 ,'ether')})

查询交易明细

eth.getTransaction('0x421407bf694104b434a58f59482b225e2be80cac3ca328c5d8dd823827f90ec1')//需要传入发送交易时产生的交易哈希3. Remix和智能合约Remix

我们推荐使用 Remix 来开发简单合约和快速学习 Solidity。Remix 可在线使用,而无需安装任何东西,打开 http://remix.ethereum.org 即可。

如果你想离线使用,可按 https://github.com/ethereum/browser-solidity/tree/gh-pages的页面说明来安装使用。

智能合约pragma solidity ^0.5.1;

cONTract SimpleStorage {
uint storedData;

function set(uint x) public {
storedData = x;
}

function get() public view returns (uint) {
return storedData;
}
}

这是一个简单的智能合约例子,包含set和get两个方法,set改变x的值,get获取x的值

solidity ^0.5.1指定了编译器的版本为0.5.1或更高

合约名为SimpleStorage

复制合约代码到Remix试试吧

Solidity修饰符和关键字

public和private

使用public修饰的函数和变量在合约内部和外部都可以访问或调用

使用private修饰的函数和变量只有本合约内部可以访问和调用

view和pure

函数申明为view时只读取不修改合约状态

函数申明为pure时,不修改也不读取状态

msg.sender和msg.value

msg.sender代表当前调用的消息发送者

msg.value代表随消息发送的 wei 的数量

payable

payable在涉及到转移以太坊的时候使用

查阅官方文档了解更多:https://solidity-cn.readthedocs.io/zh/develop/4. 智能合约部署和调用使用Remix部署合约

在部署合约前需要启动geth并开启挖矿和解锁账户

部署合约的账户需要有以太坊

  部署合约 

使用Remix调用合约

  

  

关键词:比特币新闻 币牛牛

转载自比特币新闻网(www.btc268.com),提供比特币行情走势分析与数字货币投资炒币最新消息。

原文标题:以太坊 | 以太坊开发入门

原文地址:http://www.btc268.com/ytf/xw/11269.html

本文来源:区块链资讯编辑:btc268.com

本文仅代表作者个人观点,与本网站立场无关。

本网站转载信息目的在于传递更多信息。请读者仅作参考,投资有风险,入市须谨慎!

'); })();