精华内容
下载资源
问答
  • 以太坊测试网络搭建

    2021-05-14 11:26:40
    以太坊测试网络搭建 以轻节点方式启动Rinkeby网络 geth --rpc --rinkeby --rpcapi="db,eth,net,web3,personal" --rpcport "8545" --rpcaddr "0.0.0.0" --rpccorsdomain "*" --syncmode=light 其他选项 --datadir...

    本文写于2018.12

    以太坊测试网络搭建

    • 以轻节点方式启动Rinkeby网络

      geth --rpc --rinkeby --rpcapi="db,eth,net,web3,personal" --rpcport "8545" --rpcaddr "0.0.0.0" --rpccorsdomain "*" --syncmode=light
      
      

      其他选项

      --datadir  /data/eth     #设置数据存储位置
      
    • 查看同步情况

      #登陆
      geth attach rpc:http://127.0.0.1:8545
      
      #查看状态
      eth
      
      #查看最新区块高度
      eth.blockNumber
      
      # 查看同步状态,如果返回 false则表示未同步或同步到最新了
      eth.syncing
      
      
    • 创建账户

      personal.newAccount("123456")   #创建账户, 密码是 "123456"
      
    • 获取Rinkeby测试网络的测试币

      https://faucet.rinkeby.io/

    • 使用Postman调用RPC进行转账

    在这里插入图片描述

    • 使用C++调用RPC进行转账

      https://github.com/mafoti/ethereum-cpp-rpc-calls

      #include <iostream>
      #include <fstream>
      #include <assert.h>
      #include "ethereumapi.h"
      #include <jsonrpccpp/client/connectors/httpclient.h>
      
      using namespace jsonrpc;
      using namespace std;
      
      int main()
      {
      	//HttpClient httpclient("http://localhost:8101");
      	//HttpClient httpclient("http://192.168.0.112:8545");
      	HttpClient httpclient("http://127.0.0.1:8545");
      	EthereumAPI c(httpclient);
      	try
      	{
      		//cout << c.eth_accounts().isArray() << endl;
      		cout << c.eth_accounts()[0].asString() << endl;
      
      		std::string strFrom = c.eth_accounts()[0].asString() ;
      		assert(strFrom != "");
      
      		std::string strTo = "0xc6a6FdBcab9eA255eDEE2e658E330a62f793B74E";
      		assert(strTo != "");
      
      
      		std::string strTx = "[{\"from\":\"0x2fd9a06691087fd92687ff8ce5014ce91988cb60\",\
      							 \"to\":\"0xc6a6FdBcab9eA255eDEE2e658E330a62f793B74E\",\
      							 \"value\":\"0x19184e72a000\"}, \"123456\"]";
      
      
      
      		Json::Reader reader;
      		Json::Value p;
      		if(reader.parse(strTx, p)){
      
      			std::cout << p.toStyledString() << std::endl;
      
      			std::string strRet = c.personal_sendTransaction(p);
      			std::cout << "txid " <<  strRet << std::endl;
      		}
      	}
      	catch (JsonRpcException & e)
      	{
      		cerr << e.what() << endl;
      	}
      }
      
      all:
      	g++  test_transaction.cpp -ljsoncpp -lcurl -ljsonrpccpp-common -ljsonrpccpp-client
      

    在这里插入图片描述

    参考

    • https://www.cnblogs.com/elvi/p/10203930.html
    展开全文
  • 在上一篇中,我为大家演示了如何运用solidity语言去实现一个基于ERC20的代币,这一篇我会为大家带来ERC20代币在以太坊测试网络的部署。首先得有一个以太坊钱包,这里我推荐使用metamask钱包以及一些用于部署的以太币...

    在上一篇中,我为大家演示了如何运用solidity语言去实现一个基于ERC20的代币,这一篇我会为大家带来ERC20代币在以太坊测试网络的部署。首先得有一个以太坊钱包,这里我推荐使用metamask钱包以及一些用于部署的以太币。

    把合约部署到以太坊网络中,实际就是向以太坊网络发起一个交易,交易完成后合约代码就会被打包进区块中。这个步骤中需要矿工的参与,因此也就需要花费若干单位的以太币作为矿工的奖励,这种花费即被形象地称之为——gas(汽油)耗费。

    上一章代码链接https://blog.csdn.net/qq_42247900/article/details/81951296

    步骤一: 下载metamask钱包

    metamask钱包是是一款在谷歌浏览器Chrome上使用的插件类型的以太坊钱包,该钱包不需要下载,只需要在谷歌浏览器添加对应的扩展程序即可,非常轻量级,使用起来也很方便。要下载该钱包插件,首先得翻墙,访问metamask官网 https://metamask.io/

    这里有三款浏览器的插件,这里只演示谷歌浏览器版的,其它两款浏览器的操作也一样。点击谷歌版插件进入谷歌插件官网。

     安装完成后点击右上角metamask图标,输入密码创建账号。中间有ACCEPT就点ACCEPT通过。点击红色区解锁钱包,并保存生成的句子,这个句子作为第二个密码使用。

     下一步把保存的句子按单词的顺序输入,确认无误后点CONFIRM进入主页,选择Ropsten Test Network,然后在主页点击DEPOSIT

    获取以太币,需要几个就行,不够再来拿。

    完成之后我的账户里有11个以太币了,约合3178美元(当然是拿不出来的- -,有了以太币我们就可以进行合约部署了。继上一篇我已经写好了基于ERC20标准的代币,打开Remix填好参数后点击deploy,metamask会自动弹出交易框,我们还要修改下gas的价格,因为过低的价格矿工不会帮我们的代码打包了。

    填写完毕后我们点击CONFIRM确认交易。

    (关于gas价格的选定,这里官方给出了参考 https://etherscan.io/gastracker )

     部署后,remix会返回部署的地址如下:

    我们点开部署详情链接可以查看部署完成情况:

    然后再输浏览器地址:https://ropsten.etherscan.io/token/+合约地址,我这里部署的合约地址是

    https://ropsten.etherscan.io/token/0x15b2636d3e42d886aca146b0189dd6a8de43aab0即可查看代币:

     

     接着复制合约地址,我们在metamask钱包上把部署的代币加入到钱包中使用:

    步骤:点击menu菜单 -> 点击ADDTOKEN ->点击CUSTOM TOKEN 在token address输入框里粘贴复制的合约地址。

    这样我们就持有了自己发行的代币。下面进入测试阶段,首先创建一个新的地址:

    步骤  点击右上角图标 -> 点击Create Account -> 填入Account Name或不填也行  ->  点击create

    复制账户Account3的地址,切会账户Account1,开始转账

    转账的步骤跟部署代码到以太坊测试网络一样一样,需要交易确认,给出gas价格和gas limit,这里不再详述。交易后可调用balanceOf查看代币是否到账。
    最后在metamask钱包里为Account3账户添加token,然后查看Account1的token余额。

    最后转账成功!

    下一章节我会为大家介绍ERC20的高级功能,敬请关注

    展开全文
  • 以太坊测试网络rinkeby交易测试

    千次阅读 2020-03-24 22:21:31
    Geth(go-ethereum)是由以太坊基金会提供的官方以太坊协议实现,用Go编程语言编写的。Geth提供了一个交互式命令控制台,通过命令控制台中包含了以太坊的各种功能(API)。 1. 本地编译geth cd ~/go/src/github.com/...

    操作系统centos7.6

    概述

    Geth(go-ethereum)是由以太坊基金会提供的官方以太坊协议实现,用Go编程语言编写的。Geth提供了一个交互式命令控制台,通过命令控制台中包含了以太坊的各种功能(API)。

    1. 本地编译geth

    cd ~/go/src/github.com/
    git clone https://github.com/ethereum/go-ethereum.git
    cd go-ethereum/
    git branch -a 
    git checkout 
    git checkout release/1.9
    make all
    cp ./build/bin/geth /usr/bin
    
    • geth 最常用的CLI客户端
    • abigen 源代码生成器,用于将以太坊智能合约定义转换为易于使用的,编译时类型安全的Go软件包
    • bootnode 以太坊客户端实现的精简版本,仅参与网络节点发现协议,但不运行任何更高级别的应用程序协议
    • evm 能够在可配置的环境和执行模式下运行字节码
    • rlpdump 用于将二进制RLP转储(以太坊协议使用的数据编码,无论是网络还是共识方式)转换为用户友好的层次表示形式(例如rlpdump --hex CE0183FFFFFFC4C304050583616263)。

    2. 利用docker启动节点

    编写节点启动脚本

    mkdir -p /root/ethereum_node
    cd /root/ethereum_node
    vi start-node.sh
    

    start-node.sh内容如下:

    #!/bin/bash
    docker rm -f eth_node || true
    DATADIR=/root/ethereum_node/chain
    mkdir -p $DATADIR
    docker run -it -d --name eth_node -v $DATADIR:/root/.ethereum  -p 8545:8545  -p 30303:30303 ethereum/client-go   --ws --rpc --rpcaddr 0.0.0.0 --rpccorsdomain '*' --rpcapi "db,eth,net,web3,personal" --allow-insecure-unlock --wsapi "personal,web3" --rinkeby   console
    

    执行脚本

    chmod 777 start-node.sh
      ./start-node.sh
    

    漫长的等待,待区块数据全部同步。

    3. 登录到控制台

    登录 javascript控制台,在控制台里可执行web3.js的api。

    web3.js是一个javascript库,你可以使用HTTP或IPC连接本地或远程以太它节点进行交互。
    web3的JavaScript库能够与以太坊区块链交互。 它可以检索用户帐户,发送交易,与智能合约交互等
    api参考:https://web3js.readthedocs.io/en/v1.2.4/

    geth attach rpc:http://xx.xx.xx.xx:8545
    

    or

    geth attach ipc://root/ethereum_node/chain/rinkeby/geth.ipc
    

    查看eth所有的方法

    eth
    

    4. 创建账户

    personal.listAccounts
    personal.newAccount('pld123')
    0xe7c5b662c719fe2a99fe20327fb2bf1aa8c0fdb2
    personal.newAccount('pld123')
    0x4fced1c852abcab76a9d2761c1db8d59e53a310c
    

    去水龙头获取测试币:https://faucet.rinkeby.io/
    需要 tweet或facebook账号,发送指定内容的消息,最多可获最多18.75个eth。

    5. 构造一笔交易

    方式一:使用sendTransaction方法

    personal.unlockAccount(web3.eth.accounts[0], 'pld123', 300)
    src = web3.eth.accounts[0];
    dst = web3.eth.accounts[1];
    #获取余额
    web3.fromWei(eth.getBalance(eth.accounts[0]), 'ether')
    web3.fromWei(eth.getBalance(eth.accounts[1]), 'ether')
    # 转账
    web3.eth.sendTransaction({from: src, to: dst, value: web3.toWei(0.01, "ether"), data: ""});
    

    方式一:使用signTransactionsendRawTransaction方法

    personal.unlockAccount(web3.eth.accounts[0], 'pld123', 300)
    web3.eth.signTransaction({
        from: eth.accounts[0],
        gasPrice: "20000000000",
        gas: "21000",
        nonce: web3.eth.getTransactionCount(eth.accounts[0])+1,
        to: eth.accounts[1],
        value: web3.toWei(0.01, "ether"),
        data: ""
    })
    eth.sendRawTransaction()
    
    展开全文
  • 本地区块链与以太坊测试网络发布智能合约 编写:张宏宇 发布智能合约,我在可以选择在网上的在线IDE编写,然后在进行发布。 在线网站 https://remix.ethereum.org 在网上有好多比较成熟的智能合约,可以拿来...

    本地区块链与以太坊测试网络发布智能合约

    编写:张宏宇

    发布智能合约,我在可以选择在网上的在线IDE编写,然后在进行发布。

    在线网站  https://remix.ethereum.org

    在网上有好多比较成熟的智能合约,可以拿来直接用。

    智能合约下载地址

    https://github.com/OpenZeppelin/openzeppelin-solidity

    编写智能合约并发布教程。

    此教程用的是truffle发布智能合约,我们可以借鉴怎么写智能合约。

    http://truffleframework.com/tutorials/robust-smart-contracts-with-openzeppelin

    一、本地发布合约

    1、remix介绍:

    2、选择网络。

    本发布智能合约,需要remix与本地进行连接。

    点击网络配置。弹出框,点击OK。

    修改IP,和本地区块链的IP地址想同。

    联通成功,账户显示本地区块链的第一个账户。

    3、发布智能合约

    选择发布的智能合约,点击Deploy发布智能合约。

    此时弹出交易信息,输入消耗的GAS,点击submit

    (注:发送到主网时候这里会消耗一定的以太币。)

    本地发布成功,在下面就会有一个合约得地址,打开以后里面就是合约中方法。

    本地智能合约发布成功。

    可以用web3和智能合约进行交互。

    二、以太坊测试网发币

    以太网测试网发币和本地基本相同,只是网络需要切换到测试网。

    1、切换钱包网络

    在钱包中将网络切换到以太坊测试网。此时账户中没有ETH可以在测试网中申请测试ETH

    2、申请测试ETH

    点击账户中BUY,弹出购买界面。点ROPSTEN TEST FAUCET  跳转到申请测试ETH页面。

    点击申请1ETH,下面出现一条交易的信息,此时测试笔就已经到账了。

    重启浏览器,重新打开钱包,就看到账户中存在了ETH。

    3、切换remix网络。

    关闭本地的区块链,此时切换remix的网络,remix自动连接上钱包了,默认的账户是钱包中刚刚领测试币的账号。此处账号应该与钱包中账户对应。

    4、发布智能合约

    编写智能合约后,发布方法和本地发布相同。

    5、验证合约代码

    (注:此处必须翻墙,国内肯定过不去,经过数次实验得出结论。)

    与本地不同的是,测试网络需要验证合约代码

    点击此处交易信息,跳转到认证网页。

    状态显示发布已经成功,点击合约得地址,跳转到代码认证页面

    点击code下的Verify And Publish

    把代码复制到对话框中。

    填写必要的条件,合约名字,合约得版本,是否需要代码优化等

    (注:验证代码里最好不要带注释。否则可能不过。)

    剩余的部分选填,可以不填,最后验证,验证成功后点击Verify And Publish Reset验证

    验证成功会出现一下界面,此时就可以通过web3与测试网的智能合约进行交互。

    展开全文
  • 坚固性 什么是Solidity? Solidity是一种强类型的...练习扎实,编写智能合约,然后将其部署在TestRPC(以太坊测试网络)上,并创建一个接口,即DApp(去中心化应用程序),用于通过web3js javascript库访问智能合约。
  • 上主网前需要在测试网络进行测试验证工作二. 如何获取测试币?MetaMask上除主网外有三种测试网络:ropsten kovanrinkeby我们选择ropsten, 可以看到点击buy按钮,看到点击ropsten test faucet,可以看到:点击 request 1...
  • https://github.com/ethereum/EIPs/issues/225Clique的模式下,用户是无法获取以太币的,因为无法挖矿,所以如果需要以太币, 需要通过特殊的途径来获取。可以通过这个网站获取etherhttps://faucet.rinkeby.io/需要...
  • MetalMask Zhxc6545398 转载于:https://www.cnblogs.com/xiaocongcong888/p/9392208.html
  • 最新在做智能合约相关的项目,这篇文章有关智能合约部署还是说的不错的,尤其是交易地址,这个在项目中是要作为参数传入的,如果你这一次部署的地址没有换,还是上次项目的...用以太坊测试网络吧~~~~ 一个创世区块...
  • 在扩展工具中添加metamask 在metamask界面中,修改网络,从以太坊主网修改为测试网络 进入网址https://faucet.ropsten.be/ 输入个人账户地址,领取免费的测试币(部署合约到测试网络需要测试币,这个网址每24小时...
  • 在尝试同步以太坊的的测试网络时可能会遇到一个问题,就是会发现同步下来的区块会默认存储在C盘底下导致磁盘空间不足,具体的路径如下: C:\Users\Administrator\AppData\Roaming\Ethereum 1 注:如果你找...
  • 上主网前需要在测试网络进行测试验证工作 二. 如何获取测试币? MetaMask上除主网外有三种测试网络: ropsten kovan rinkeby 我们选择ropsten, 可以看到 点击buy按钮,看到 点击ropsten test faucet,...
  • 1.Eth QA Test环境: 数据文件路径: C:\Users\Administrator\AppData\Roaming\Ethereum console启动参数: --rpc --testnet --networkid 3 --rpcapi="db,eth,net,web3,personal,web3" --rpcport "8545" --...
  • 区块链学堂(6):以太坊生产网络/测试网络/私有网络 要理解以太坊 PrivateNetwork 先要理解以太坊的两种官方网络 目前以太坊官方提供了两种网络 生产环境网络测试网络 TestNet 下面将分别简单讲解下这两...
  • 以太坊生产网络/测试网络/私有网络

    千次阅读 2017-08-09 16:59:11
    要理解以太坊 PrivateNetwork 先要理解以太坊的两种官方网络 目前以太坊官方提供了两种网络 **生产环境网络 测试网络 TestNet** 下面将分别简单讲解下这两种网络 以太坊生产网络以太坊的生产网络顾名思义,也...
  • 以太坊网络钱包by Paul Laux 保罗·劳克斯(Paul Laux) 如何构建以太坊钱包网络应用 (How to build an Ethereum Wallet web app) 回顾eth-hot-wallet最酷的部分 (A review of the coolest parts of eth-hot-wallet...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,074
精华内容 4,429
关键字:

以太坊测试网络