网站首页 > 开源技术 正文
什么是以太坊节点
随着比特币的出现,基于区块链的技术逐渐变得越来越流行,开发人员能够在区块链平台开发分布式应用程序,许多人认为这是解决目前互联网数据不安全,被滥用的解决方案。
以太坊使用区块链技术允许任何人公开dapps(分布式应用程序),让服务提供商和用户进行直接连接。
在以太坊网络上,每个客户端都是一个节点,并且是更大网络的一部分,因此在建立客户端时,必须将整个网络的数据库和交易数据。在本文中,我们将回顾在Ubuntu(Linux)服务器上设置以太坊节点的过程。
前提条件
在开始设置节点相关的配置和命令之前,需要一些基础知识,因此您应该在某种程度上熟悉以下内容:
- 区块链技术及其工作原理。
- 管理geth客户端帐户
节点类型
网络上基本上有两种类型的节点,
- 轻量级节点
- 完整节点
轻量级节点可以在低配置机器上运行,因此保持区块链数据的浅拷贝,而全节点保持网络进行的所有交易数据。
在我们的设置中,我们将审查这两个系统,以便对如何处理流程有一个具体的讲解。
设置Geth客户端(节点)
以太坊区块链有许多客户,但最安全和有据可查的都包括在内
- Mist钱包
- Geth钱包 Mist钱包是一个基于GUI(图形用户界面)的客户端,用户可以方便操作钱包,也可以在Mist钱包上开发合同。
建立一个Mist钱包
要设置Mist钱包,请去以太坊官方下载。进入下载部分,您会看到下载按钮,您可以通过该按钮下载Mist钱包的新版本。
这需要一些时间来设置,因为它必须下载区块链的数据库,在下载完成后,您的计算机变成以太网网络上的一个节点。
在Mist钱包创建合同
通常,在Mist网络或以太坊网络上构建合同是可靠的,它是一种强类型语言。创建合同就像部署应用程序一样简单,只需将合同代码放在指定的目录下。
设置Geth客户端钱包。
对于不同的操作系统,可以通过不同的方式建立geth客户端。
设置为Windows
Chocolatey软件包管理器,它提供了一种简单的方法来获取所需的构建设置和工具。
接下来,我们运行命令行指令安装我们需要的构建工具。
C:\Windows\system32> choco install git C:\Windows\system32> choco install golang C:\Windows\system32> choco install mingw
安装这些软件包将设置路径环境变量。
接下来,让我们确保安装Go
C:\Users\xxx> set "GOPATH=%USERPROFILE%" C:\Users\xxx> set "Path=%USERPROFILE%\bin;%Path%" C:\Users\xxx> setx GOPATH "%GOPATH%" C:\Users\xxx> setx Path "%Path%" C:\Users\xxx> mkdir src\github.com\ethereum C:\Users\xxx> git clone https://github.com/ethereum/go-ethereum src\github.com\ethereum\go-ethereum C:\Users\xxx> cd src\github.com\ethereum\go-ethereum C:\Users\xxx> go get -u -v golang.org/x/net/context
最后,编译geth的命令
C:\Users\xxx\src\github.com\ethereum\go-ethereum> go install -v ./cmd/...
使用所有设置,我们都可以使用Windows上的设置。
在Linux上设置(Debian)
从ppa安装
sudo apt-get install software-properties-common sudo add-apt-repository -y ppa:ethereum/ethereum sudo apt-get update sudo apt-get install ethereum
安装后,运行geth account new以在您的节点上创建一个帐户。您现在应该可以运行geth并连接到网络。
还有其他的选择,如从源代码构建
从源代码上构建
建立Geth(命令行客户端)
- 将存储库克隆到您选择的目录
git clone https://github.com/ethereum/go-ethereum
- 安装最新版本的Go(v1.7)如果你还没有它
- 构建geth需要安装的Go和C编译器。
sudo apt-get install -y build-essential golang
- 使用以下命令继续构建
cd go-ethereum make geth
- 要启动节点,请运行 build/bin/geth
在Mac上设置
开始以太坊最简单的方法就是运行homebrew。
接下来,安装geth
brew tap ethereum/ethereum brew install ethereum
管理帐户
一定要记住你的密码
从根本上说,客户账户管理是通过账户命令提供的
$ geth account <command> [options...] [arguments...]
您可以创建新帐户,列出现有帐户,将私钥导入新帐户,迁移至新密钥格式并更改密码。
我们将回顾一些重要的命令来了解。
创建账户
$ geth account new Your new account is locked with a password. Please give a password. Do not forget this password. Passphrase: Repeat Passphrase: Address: {168sdunina2ee09042d83d7c5811b5334789349934}
列出账户
$ geth account list Account #0: {5afdd78bdacb56ab1dad28741ea2a0e47fe41331} keystore:///tmp/mykeystore/UTC--2017-04-28T08-46-27.437847599Z--5afdd78bdacb56ab1dad28741ea2a0e47fe41331 Account #1: {9acb9ff906641a434803efb474c96a837756287f} keystore:///tmp/mykeystore/UTC--2017-04-28T08-46-52.180688336Z--9acb9ff906641a434803efb474c96a837756287f
将私钥导入具有自定义datadir的节点
$ geth account import --datadir /someOtherEthDataDir ./key.prv The new account will be encrypted with a passphrase. Please enter a passphrase now. Passphrase: Repeat Passphrase: Address: {7f444580bfef4384839403049823453c9d}
结论
区块链技术对于很多人来说还是比较新的,这方面还有很多工作要做,但构建dapps和使用分布设置对于新手也应该不成问题。
- 上一篇: 一款著名的界面化远控工具(NSA泄密工具之一)
- 下一篇: 通俗易懂的Deno 入门教程,一看便会
猜你喜欢
- 2024-10-07 命令行JSON解析神器jq(命令解析器 popen)
- 2024-10-07 通俗易懂的Deno 入门教程,一看便会
- 2024-10-07 一款著名的界面化远控工具(NSA泄密工具之一)
- 2024-10-07 gping 是一个增强版的Ping工具显示数据传输时间的图形化表示
- 2024-10-07 Pandoc安装、使用、快速上手(pandoc-crossref)
- 2024-10-07 31.2K Star 还单挑VSCode?Rust轻量级,极致性能体验的终端编辑器
- 2024-10-07 Windows 命令行终端 PowerShell 美化计划
- 2024-10-07 Windows终于有来自官方的软件包管理器了:不过离正式版还有很长距离
- 2024-10-07 为什么我们推荐使用-软件包管理(为什么要安装包)
- 2024-10-07 微软增强了ROS for Windows和VS Code扩展支持
你 发表评论:
欢迎- 最近发表
-
- 后端服务太慢?试试这 7 招(后端 服务端 区别)
- 做一个适合二次开发的低代码平台,把程序员从curd中解脱出来-1
- Caffeine缓存 最快缓存 内存缓存(caffeine缓存使用)
- Java性能优化的10大策略(java性能调优从哪几个方面入手)
- New Balance M576PGT 全新配色设计
- x-cmd pkg | qrencode - 二维码生成工具
- 平和精英抽奖概率是多少 平和精英抽奖物品一览
- x-cmd pkg | tmux - 开源终端多路复用器(terminal multiplexer)
- 漫威官方App中文版上线:全站漫画限时免费
- macOS Monterey 12.7.4 (21H1123) 正式版发布,ISO、IPSW、PKG 下载
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)