【区块链】区块链 - 第一条私链

2023-10-27 22:10
文章标签 区块 第一条 私链

本文主要是介绍【区块链】区块链 - 第一条私链,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、Geth Console

Geth Console一个交互式的 JavaScript 执行环境,其中 > 是命令提示符。在这个环境里也内置了一些用来操作以太坊的 JavaScript 对象,可以直接使用这些对象。这些对象主要包括:

  • eth:包含一些跟操作区块链相关的方法;
  • net:包含一些查看p2p网络状态的方法;
  • admin:包含一些与管理节点相关的方法;
  • miner:包含启动&停止挖矿的一些方法;
  • personal:主要包含一些管理账户的方法;
  • txpool:包含一些查看交易内存池的方法;
  • web3:包含了以上对象,还包含一些单位换算的方法。

二、Geth 安装

官方安装文档:https://geth.ethereum.org/install/

环境:ubuntu 18

下载包:https://geth.ethereum.org/downloads/

## 以下为linux安装
wget https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.9.6-bd059680.tar.gz  // 下载
tar -zxvf geth-linux-amd64-1.9.6-bd059680.tar.gz  ## 解压
sudo cp geth-linux-amd64-1.9.6-bd059680/geth  /usr/bin/  ## 复制到bin目录
geth version  ## 验证是否安装成功## 以下为输出结果,输出版本信息即安装成功
Geth
Version: 1.9.6-stable
Git Commit: bd05968077f27f7eb083404dd8448157996a8788
Git Commit Date: 20191003
Architecture: amd64
Protocol Versions: [63]
Network Id: 1
Go Version: go1.13.1
Operating System: linux
GOPATH=
GOROOT=/home/travis/.gimme/versions/go1.13.1.linux.amd64

三、搭建私链

1、 建立目录和并在目录内创建genesis.json

mkdir tmpPrivate  ## 创建目录
cd tmpPrivate  ## 进入tmpPrivate
vim genesis.json  ## 创建并编辑genesis.json,vim使用网上很多教程,此处不再赘述## 以下为写入genesis.json内容
{
"nonce": "0x0000000000000042",
"timestamp": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x",
"gasLimit": "0x8000000",
"difficulty": "0x400",
"config": {},
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x3333333333333333333333333333333333333333", "alloc": { }
}

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

geth --datadir "./" init genesis.json
  • --datadir 代表文件夹地址

 以下为执行后的效果:

 

3、创建私有链

geth --datadir "./" --nodiscover console 2>>geth.log
  • --datadir 代表文件夹地址,
  • --nodiscover 代表该链条不希望被其他节点发现,
  • console >> geth.log 代表将控制台输出到文件geth.log中去

 执行结果:

4、创建用户

刚开始私链是没有用户的,需要创建用户。

personal.newAccount('abc')  ##创建用户,用户密码是abc,得到用户地址
eth.accounts  ## 查看当前私有链中的用户

执行结果: 

5、查看用户当前以太币数量

##查看主账户的以太币数量
acc0 = eth.accounts[0]
eth.getBalance(acc0)  ## 新用户以太币数量为0

执行结果:

6、挖矿 

##开始挖矿 & 停止挖矿
miner.start() ##开始挖矿
tail -f geth.log ##查看日志,再开一个终端看,挖矿时日志是动态的
miner.stop() ##停止挖矿
eth.getBalance(acc0)  ## 查看用户以太币数量

执行结果: 

开始挖矿:

 结束挖矿后查看账户以太币数量(系统默认将挖到的币存入第一个账户)

6、相关操作

##查看geth版本
geth version  ##切换回命令行,执行命令,制造创世区块
geth --datadir "./" init genesis.json##执行一条最简单的geth命令,来创建自己的私有链条
##console 2>> geth.log 
##代表将控制台的一部分输出,输出到文件geth.log上去
--datadir 代表文件夹地址,
--nodiscover 代表该链条不希望被其他节点发现,
-console >> geth.log 代表将控制台输出到文件geth.log中去geth --datadir "./" --nodiscover console 2>>geth.log##私有链的全部账户
eth.accounts##该命令将创造一个新的用户,该用户的密码是xxx. 
##当然用户也可以将xxx 改为123,或者123456,或者任意密码
personal.newAccount("abc")##打开另一个终端,找到geth.log的所在目录,执行命令从而持续的输出以太坊的日志
tail -f geth.log##查看主账户的以太币数量
acc0 = eth.accounts[0]
eth.getBalance(acc0)##如何获取账户的以太币余额
eth.getBalance("0xbcf5b841303bc08026ce2d3b8f83498ffe42c12f")##如何在两个账户之间进行以太币转换
acc0 = eth.accounts[0]
"0xbcf5b841303bc08026ce2d3b8f83498ffe42c12f"
##acc1 = eth.accounts[1]
"0xb8b12a801b610176935a15321f77b48dd5c0c448"
##amount = web3.toWei(0.01)
"10000000000000000"##从acc0转移到acc1中(),交易记录只有等再次挖矿提交后才能看到变动。
eth.sendTransaction({from: acc0, to: acc1, value: amount})##转账之前大概率会有自动锁定,需要解锁personal.unlockAccount(acc0)   后输入密码,然后需要重新执行上面的转账命令##开始挖矿 & 停止挖矿
miner.start() //开始挖矿
miner.stop() //停止挖矿

 参考文档:

https://note.youdao.com/ynoteshare1/index.html?id=d267c1e9e7d9248cf2bbcb3665b5b4fa&type=note

这篇关于【区块链】区块链 - 第一条私链的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/288724

相关文章

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

数据库遇上知识图谱、区块链、深度学习

参考资料: https://zhuanlan.zhihu.com/p/33381916 https://www.zuozuovera.com/archives/1062/ 东南大学D&Intel Lab相关ppt 数据库的核心概念——表示、存取、查询 有了数据库是干什么,大概实现的逻辑,特点,才能引申出对当今这些新技术的对比、适应和发展。 目的:研究数据表示、存取数据模型:表示数据的模型,通

区块链技术介绍

一.概述 1.什么是区块链?   区块链是一种分布式数据库技术,它以链式数据结构的形式存储数据,每个数据块与前一个数据块相关联,形成了一个不断增长的数据链。每个数据块中包含了一定数量的交易信息或其他数据,这些数据经过加密和验证后被添加到区块链上。由于每个数据块都包含了前一个数据块的哈希值,因此任何尝试篡改数据的行为都会被迅速地检测出来。 2.区块链技术的起源   区块链的起源可以追溯到

孙宇晨:区块链领域的时代先锋,每一步引领未来趋势

​孙宇晨,这位在区块链领域崭露头角的青年企业家,凭借着敏锐的洞察力和坚定的决心,成为了数字经济时代的领航者。他的每一步,都走在技术创新的最前沿,推动着区块链技术的发展与应用,给全球经济带来了深远的影响。 从创业初期到现在,孙宇晨始终紧跟时代脉搏,勇敢地探索未知的领域。他对区块链技术的热情源于他对去中心化理念的深刻理解和认同。在区块链技术还处于初期发展阶段时,孙宇晨便看到了它将如何改变世界。区

【区块链 + 人才服务】链学汇教育区块链平台 | FISCO BCOS应用案例

链学汇教育区块链平台立足于教育行业区块链需求,结合真实应用场景和区块链技术,采取校企共建形式,构建基于产业发展及创新需求的实践教学和实训实习环境。目前已应用于东莞理工学院粤台产业科技学院,实现: 1. 通过“学、研、训、产”四位一体的应用人才培养模式,实践基地打造成为校企合作应用型人才培养示范基地; 2. 结合企业在区块链应用落地的丰富经验,将多种现实生活的场景与实训平台相结合,以丰富、趣味性

区块链ARC如何能让节点能够大规模处理交易数据

​​发表时间:2024年8月7日 TAAL技术主管Michael Böckli表示,TAAL公司一直在对ARC进行测试,并准备在今年年底全面发布。因TAAL在区块链交易处理方面具备深厚的专业知识,BSV区块链委托TAAL进行ARC开源参考落地方案的开发。 ARC是一个多层交易处理系统,能够追踪交易在BSV区块链上的整个生命周期。 除了遵循BSV区块链的开源指南和要求开发ARC的开源版

【区块链 + 人才服务】FISCO BCOS 区块链实训和管理平台 | FISCO BCOS应用案例

中博数科 FISCO BCOS 区块链实训和管理平台主要应用于区块链领域的教育和实训,目的是为学生、教师等用户 提供高效的区块链技术学习和实践体验,同时也为学校提供了一套完整的区块链解决方案。 该平台提供了一套完整的区块链课程体系,包括理论知识和实践项目,学生和开发者可以在平台上进行各种实验 和模拟,熟练掌握区块链的相关技术和应用,从而提供给企业有能力的区块链人才。同时,平台还提供了一套完整的区

[gtokentool]区块链技术的主要特征有哪些

区块链技术的主要特征 一、去中心化 去中心化是区块链最突出和本质的特征。区块链技术不依赖额外的第三方管理机构或硬件设施,没有中央控制。各个节点通过分布式的计费和存储实现信息的自校验、传输和管理。在区块链系统中,除了自成一体的区块链本身,每个节点都具有高度自治性,彼此之间可以自由链接,形成新的块-链数据,节点可以自由选择中心,中心也可以自由决定节点。因此,在没有中心节点的情况下实现了数据在整个网

Ignis公链探索生态建设新范式:产业区块链与GameFi双轨驱动

Ignis公链凭借其独特的技术架构,选择了产业区块链与GameFi这两个赛道作为生态建设的双轮驱动,逐步形成了一个多元化的Web3生态系统。 一、产业区块链的革新:Vessel Chain的成功案例 在产业区块链领域,Ignis公链通过推出Vessel Chain项目,展示了其在海运行业中的强大应用潜力。Vessel Chain是一个基于Ignis公链的创新项目,旨在提升海运行业的透明度和