以太坊开发环境搭建

Geth安装

全称 Go Ethereum, 官网地址:https://github.com/ethereum/go-ethereum/wiki/geth

安装指令:

brew tap ethereum/ethereum

brew install ethereum

版本检测:

geth version

以太坊生产网络/测试网络/私有网络

  • 测试网络是官方提供的, 专供用来开发、调试和测试。
  • 因为网络是官方提供的,因此对于以太坊技术的底层实现、Geth的各种参数接口、整个以太坊的技术真实性能的理解就会弱很多。
  • 从开发的角度来说,一个更好的选择是Private Network,可以从技术的底层去深入理解以太坊。
私有网络

以太坊的私有网络,顾名思义就是由用户自己通过Geth创建的私有网络,是一个非常适合开发、调试和测试的网络。

优点

  • 方便开发者深入理解以太坊的技术底层
  • 因为节点相对较少,速度较快
  • 用户可以随时创建,随时销毁,随时重建一个以太坊网络
  • 随意的增加节点数目,或者删除节点,
  • 既可以在服务器上建立,也可以在自己的windows或者Mac机器上建立
  • 甚至一台机器可以建立多个节点,在一台机器上实现多节点的私有网络。

缺点

  • 因为不是全球化的,只有在私有网络内的节点才能查看智能合约的执行、调用等。

搭建私有网络

  1. 建立目录和 genesis.json

    • 创建一个目录,例如tmpPrivate
    • 创建文件genesis.json, 并填入如下内容

    { "nonce": "0x0000000000000042", "timestamp": "0x0", "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "extraData": "0x0", "gasLimit": "0x80000000", "difficulty": "0x1", "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000", "coinbase": "0x3333333333333333333333333333333333333333", "alloc": { } }

  2. 执行命令,创建创世区块

    geth --datadir "./" init genesis.json

    执行之后当前目录下面会新增出两个文件夹gethkeystore

    • geth中保存的是区块链的相关数据
    • keystore中保存的是该链条中的用户信息
  3. 创建自己的私有链条
  • 执行一条最简单的geth命令,来创建自己的私有链条

    geth --datadir "./" --nodiscover console 2>>geth.log

  1. 在自己的私有链条上创建用户
  • 输入命令 eth.accounts

    可以看到当前该区块链中共有几个账号,以及每个账号的公钥地址

  • 创建一个新用户,密码是xxx personal.newAccount("xxx")
  1. 输出区块链的Log
  • 执行如下命令

    geth --datadir "./" --nodiscover console 2>>geth.log

    进入命令行模式,其中参数

    • --datadir 代表文件夹地址
    • --nodiscover 代表该链条不希望被其他节点发现,
    • console >> geth.log 代表将控制台输出到文件geth.log中去
  • 打开另一个终端,找到geth.log的所在目录,执行命令tail -f geth.log 从而持续的输出以太坊的日志
  1. 开始挖矿
  • 执行命令miner.start(), 开始在我们的区块链上进行挖矿

注意点:

1. 挖矿挖到的ether币会默认保存在第一个账户中,即eth.acccounts[0]中。

2. 挖矿是执行智能合约的基础。如果停止挖矿的话,不仅以太币会停止生成,所有智能合约的调用也会不起作用。

3. 如果真的要停止挖矿,可以执行命令miner.stop()来停止挖矿

4. 按上面的命令,应该是可以实现以太坊挖矿的。如果不行的话,有可能就是之前有存在的链,此时应该删除之前的数据。在Mac下即删除~/.ethash文件夹和里面的文件即可。
  1. 挖矿启动后,查看主账户的以太币数量

acc0 = eth.accounts[0]

eth.getBalance(acc0)

结果只要不为0,那就说明挖矿成功!

原文地址:https://www.cnblogs.com/samniu/p/8657873.html

时间: 2024-10-03 22:38:20

以太坊开发环境搭建的相关文章

Ubuntu 16.04 以太坊开发环境搭建

今天我们来一步一步从搭建以太坊智能合约开发环境. Ubuntu16.04 安装ubuntu16.04.下载链接 //先update一下(或者换国内源再update) sudo apt-get update g++ 安装 sudo apt-get install g++ libssl-dev 安装 sudo apt-get install libssl-dev  git 之后的安装需要依赖Git sudo add-apt-repository ppa:git-core/ppa sudo apt-g

以太坊是什么 - 以太坊开发入门指南

很多同学已经跃跃欲试投入到区块链开发队伍当中来,可是又感觉无从下手,本文将基于以太坊平台,以通俗的方式介绍以太坊开发中涉及的各晦涩的概念,轻松带大家入门. 以太坊是什么 以太坊(Ethereum)是一个建立在区块链技术之上, 去中心化应用平台.它允许任何人在平台中建立和使用通过区块链技术运行的去中心化应用. 对这句话不理解的同学,姑且可以理解为以太坊是区块链里的Android,它是一个开发平台,让我们就可以像基于Android Framework一样基于区块链技术写应用. 在没有以太坊之前,写区

以太坊开发DApp实战教程——用区块链、星际文件系统(IPFS)、Node.js和MongoDB来构建电商平台(一)

第一节 简介 欢迎和我们一起来用以太坊开发构建一个去中心化电商DApp!我们将用区块链.星际文件系统(IPFS).Node.js和MongoDB来构建电商平台类似淘宝的在线电商应用,卖家可以自由地出售商品,买家可以自由地购物: 去中心化: 和淘宝或eBay不同,我们把所有的商业逻辑和核心数据都放在以太坊区块链上,这使 得它成为一个完全去中心化的应用.和淘宝这样中心化的电商平台相比,一个去中心化的P2P电商应用显然有其独特的价值--至少你不用担心被平台封账户了. IPFS: 在以太坊上存储用于商品

智能合约开发环境搭建及Hello World合约

如果你对于以太坊智能合约开发还没有概念(本文会假设你已经知道这些概念),建议先阅读入门篇.就先学习任何编程语言一样,入门的第一个程序都是Hello World.今天我们来一步一步从搭建以太坊智能合约开发环境开始,讲解智能合约的Hello World如何编写. 开发环境搭建 Solidity安装 强烈建议新手使用Browser-Solidity来进行开发.Browser-Solidity是一个基于浏览器的Solidity,就可以不用安装Solidity,本文的Hello World教程也将基于Br

以太坊开发完整去中心化应用 —— 区块链投票系统

第一节 课程概述 本课程面向初学者,内容涵盖以太坊开发相关的基本概念,并将手把手地教大家如何构建一个 基于以太坊的完整去中心化应用 -- 区块链投票系统. ethereum logo 通过本课程的学习,你将掌握: 以太坊区块链的基本知识 开发和部署以太坊合约所需的软件环境 使用高级语言(solidity)编写以太坊合约 使用NodeJS编译.部署合约并与之交互 使用Truffle框架开发分布式应用 使用控制台或网页与合约进行交互 前序知识要求 为了顺利完成本课程,最好对以下技术已经有一些基本了解

Intellij IDEA 14.1.4 Scala开发环境搭建

主要内容 Intellij IDEA开发环境简介 Intellij IDEA Scala开发环境搭建 Intellij IDEA常见问题及解决方案 Intellij IDEA常用快捷键 1. Intellij IDEA开发环境简介 具体介绍请参见:http://baike.baidu.com/link?url=SBY93H3SPkmcmIOmZ8H60O1k4iVLgOmdqoKdGp9xHtU-Pbdsq2cpn75ZPZPWAJxeUlwr0ravraQzOckh777beq Intelli

javacard开发环境搭建 Eclipse+jcop+jcdk 配置完成的开发环境

javacard  开发环境搭建 Eclipse+jcop+jcdk  配置完成的开发环境,下载后安装jdk,并完成环境变量配置,即可开发javacard applet: 虽然有许多大神提供配置说明,但是配置很麻烦.提供一个配置好的环境给大家.如果好用,别忘了评价. 由于csdn上传限制,需要分别下载几个文件 http://download.csdn.net/detail/wyx100/7941899 http://download.csdn.net/detail/wyx100/7941669

Storm使用入门之本地开发环境搭建

本篇博文详细告诉你如何安装Storm的本地开发环境,总体分为两步,具体如下: 1.从官网上下载Storm的发布包,下载完成后将其解压,并将解压后的bin目录添加到环境变量(PATH)中,以方便后续执行Storm的相关命令 2.修改Storm的配置文件(storm.yaml),主要是按照实际情况更新配置文件中的集群信息,然后将修改后的配置文件添加到目录(~/.storm/)中,目的是为了后续能够远程启动和停止集群上的计算任务(即topology) 接下来,咱们来详细地介绍每一个操作步骤. 首先,何

《结对-贪吃蛇游戏-开发环境搭建过程》

贪吃蛇开发环境搭建 Python和pygame的安装过程 成员0:2015035107074-孔令辉 成员1:2015035107067-张旭 1.去官网下载python和pygame.(需注意自己电脑是32位的还是64位的,我的是64位的,就下了个64位的) 2.安装pythone 和 pygame. 3.安装完成后,查看环境变量配置情况:计算机->属性->高级系统设置->环境变量->系统变量->Path. 4.在命令提示符中输入:python,验证是否安装成功,若提示是无