区块链以太坊环境搭建(详细篇)

以太坊合约的配置(以在私有链上配置投票合约为例)

以太坊合约配置步骤大体如下:

一.安装Mist浏览器(已经集成以太坊钱包)

二.安装配置基于Go语言的geth命令

三.在本地搭建私有链

四.在私有链上完成挖矿工作

五.使用Mist在私有链上配置投票合约

具体步骤如下:

一.安装Mist浏览器(已经集成以太坊钱包)

1登陆https://github.com/ethereum/mist/releases/根据需求下载最新版本的客户端:

下载完成解压压缩文件后找到可运行文件运行安装即可

安装过程中要同步区块数据,下载过程需要耐心等待,成功后会出现如下界面的客户端,这里我们进入的是以太坊的主网络,当然我们此后的实验操作都是在自己搭建的私有链网络中,并非在此。

这里是已经添加好三个账户的界面,初次安装成功不会有账户需要我们去手动添加,我们可以通过Mist中图形交互界面添加也可以在geth命令行中通过命令添加。

在geth命令行中我们可以通过命令 (当然这是你在配置好geth后才能完成的操作)

geth accounts new 来建立新账户

如图则建立新账户成功,新账户地址为

Address: {e64a1c6c5eb3e9638296f2d67d911d1e1b16b863}

在建立新账户时需注意记住账户密码,及时备份,Mist客户端中便提供备份,以太坊账户并没有账户密码找回的功能。

二.安装配置基于Go语言的geth命令

geth是以太坊的官方客户端,它是一个命令行工具,提供很多命令和选项,可以运行以太坊节点、创建和管理账户、发送交易、挖矿、部署智能合约等

  1. 以太坊开发团队提供了各个系统的编译好的geth可执行文件,最简单的办法便是直接下载安装文件,geth安装文件可以去官方下载网址(https://geth.ethereum.org/downloads/)下载或者去国内镜像网站(https://ethfans.org/wikis/Ethereum-Geth-Mirror)直接下载

下载运行安装文件

按照提示安装即可。

在下载安装后可以在输入查看geth的帮助命令:

此时geth安装成功可以进行下一步工作

三.在本地搭建私有链

在试验和测试时为了更快的进入网络和方便控制,我们大都会选择在私有链上进行这些工作,接下来我们看看如何进行私有链的搭建工作。

1.进入dos命令行

输入:mkdir private-geth

cd private-geth

  1. 找到刚才创建的private-geth文件并在private-geth中放入创世区块的.jason文件

其中genesis文件内容如下:

  1. 在dos行初始创世节点,并设置目录:

输入命令:geth --datadir ./data/00 init genesis.jason

4.启动节点

geth --datadir ./data/00 --networkid 15 console

注意在输入networkid时不要使用networkid 1,那是主网的id,而且此处的networkid必须与自己编写的创世区块中的networkid一致!!!

至此私有链已经搭建成功,需要有账户建立就能进行挖矿操作了。

四.在私有链上完成挖矿工作

  1. 在私有链上建立新的账户

此时输入如下命令查看私有链账户时

eth.accounts

表明还私有链上还没有账户,需要我们创建,输入如下命令:

personal.newAccount("123456789")

此时创建成功,引号中输入的123456789是我们的账户密码,当然,我们也可以通过Mist客户端来创建。

在我们的本地文件中也可以找到创建的用户账号文件,路径如下:

C:\Users\J\private-geth\data\00\keystore

此时打开Mist客户端会自动连接到我们刚才创建的私有链,并看到相关信息:

  1. 现在便可以开始进行挖矿操作了

在命令行输入 miner.start()

此时需要耐心等待(约有5分钟左右)开始开始挖矿工作

在mist客户端左下角位置也能看到一把铲子标识,表明开始挖矿。

停止挖矿工作需输入如下命令:

miner.stop()

可以在geth命令行中查看刚才挖到的以太币,应用命令如下:

Eth.getBalance(eth.accounts[0])

五.使用Mist在私有链上配置投票合约

  1. 打开已经安装好的Mist浏览器
  2. 进入合约界面
  3. 点击建立新的合约

输入solidity合约代码.Mist自带编译功能,编译通过后选择要部署的合约即可。

注意你所输入代码第一行的版本号必须与你下载的版本号一致,否则编译将无法通过!

选择合约后部署。输入密码后便可成功,注意交易时需要一个较大的gas值,并在部署合约的过程中保持挖矿操作的进行!

运行合约需要有其他的账户,此时我们需要多创建几个账户并由主账户存入以太币。

运行投票合约需要给其他账户授权(给第二个账户授权为例)

授权后账户便可进行投票

---恢复内容结束---

原文地址:https://www.cnblogs.com/myblog125/p/8973538.html

时间: 2024-08-10 17:08:55

区块链以太坊环境搭建(详细篇)的相关文章

【免费下载】全套最新 03区块链以太坊理论 视频教程+教学资料+学习课件+源代码+软件开发工具

03区块链以太坊理论视频教程 网盘地址: 链接:https://pan.baidu.com/s/1Lf9QB2dl2Zk4FeWOvaup\_A 提取码:ug7u 加公众号 获取更多新教程 教程目录大纲 ./03区块链以太坊理论 ├── 视频 │?? ├── 001_以太坊课程简介.mp4 │?? ├── 002_以太坊简介(一).avi │?? ├── 003_以太坊简介(二).avi │?? ├── 004_以太坊简介(三).avi │?? ├── 005_以太坊简介(四).avi │??

[区块链]以太坊手动添加静态节点

如果每次都向某个节点同步区块,可以手动的添加为静态节点,这样可以大大的提高同步效率 这里套用一下https://blog.csdn.net/weixin_40903789/article/details/79619646的私链,感谢,我就不用再创建虚拟机了做静态节点了 作用默认大家已经安装好了mist,下载地址,它是一个集web3和钱包的工具,默认也会有geth的安装,当然也可以使用上述地址geth的安装方法 创世的文件来一个,必须套用别人的,地址 下载完成后,为了方便我把它放在了geth的同级

Golang开发环境搭建-Vim篇

Golang开发环境搭建-Vim篇 转自:http://tonybai.com/2014/11/07/golang-development-environment-for-vim/ 虽说sublimetext3+gosublime+gocode是目前较为 流行的Golang开发环境组合,但作为一名VIMer,没有一套得心应手的Vim for Golang dev心里总是过不去的.Golang虽然年轻,但即便是从Go 1版本发布(2012年3月28日)算起,掐指算来也有小三年了.全世界的开发者已经

LNMP环境搭建——Apache篇

1.Apache DSO(Dynamic Shared Object) (1) 查看已编译模块: [root@kallen ~]# httpd -M Loaded Modules: core_module (static) mpm_prefork_module (static) http_module (static) so_module (static) auth_basic_module (shared) auth_digest_module (shared) authn_file_modu

LNMP环境搭建 Ubuntu篇

LNMP    就是linux+nginx+mysql+php.  洒家之前一直用apache服务器,还是win7系统,使用的都是xampp,esayphp,wamp等集成环境,周末闲着无聊,抱着尽量提高b格的想法动手配置了一下环境.完成之后还有点小激动.把过程分享出来,希望能帮助一些和我差不多的小白.下面开始环境配置: 首先ctrl+alt+t打开终端 1.更新软件源:  sudo apt-get update2.安装nginx  sudo apt-get install nginx3.启动n

LNMP环境搭建——MySQL篇

The world's most popular open source database 1.Install MySQL root@kallen:~# apt-get install mysql-server-5.5 mysql-client-5.5 2.Add Users (1) 选择数据表 语句例如以下:use mysql; (2) 在mysql的user表中添加连接用户帐号: 这里不要直接使用INSERT语句加入user记录,使用INSERT可能出现错误: ERROR 1364 (HY0

zookeeper集群环境搭建详细图文教程

zookeeper集群环境搭建详细图文教程 zhoubang @ 2018-01-02 [文档大纲] 友情介绍 软件环境 注意点 环境安装 1. 新建用于存储安装包以及软件安装的目录 2. 下载安装zookeeper 3. 解压zookeeper压缩包 单节点zookeeper配置 1. 配置zoo.cfg文件 2. 配置zookeeper的数据存储目录 3. 新建myid文件 4. 配置zookeeper集群节点 5. 启动zookeeper服务 6. 检查zookeeper服务是否成功启动

java配置环境变量--详细篇

JAVA配置环境变量详细篇 之前因为电脑系统出了故障,重装了系统,然后需要重新配置环境变量,本来心想学习java也有两年多了,配置个环境变量还不是小菜 一碟,但开始配置的时候还是弄了大半天,搜索了许多网上资料,才把环境变量给配置好,心里面挺感慨的,配置环境变量看似           简单但其中也有许多要注意的小细节,有时候一不留神就会卡很久,所以在这里总结配置环境变量的知识,并将细节列出来,希望能帮助到其他入门JAVA学习者  (建议先看其他有图的配置教程,配置不成功在来看这个帖子) 1.前往

SpringBoot区块链之以太坊区块高度扫描(简洁版)

继续昨天的demo往下写写:[SpringBoot区块链之以太坊开发(整合Web3j)](https://juejin.im/post/5d88e6c1518825094f69e887),将复杂的逻辑都去除了,留下最简单区块高度扫描部分代码,这样更好让开发者上手 首先自定义个区块高度处理线程类 ``` package com.xiaobin.ethdemo.component; import org.springframework.beans.factory.annotation.Autowir