不知道各位有没有见过这篇外文
https://medium.com/@mycoralhealth/code-a-simple-p2p-blockchain-in-go-46662601f417
(要开代理才能看到)题目为Code a simple P2P blockchain in Go!
在csdn上孙飞Sunface也提供了译文版
https://blog.csdn.net/erlib/article/details/79953019
关于这个安装设置,我使用的是goland,路径为PS C:\Users\86183\GolandProjects\P2pBlockchain>
也就是我在GolandProjects中创建了文件夹P2pBlockchain,
之后在goland打开P2pBlockchain,
在终端进行go mod init P2pBlockchain
之后按照教程进行了go get -d github.com/libp2p/go-libp2p/
added很成功,go.mod也出现了对应内容
但是之后的导航至go-libp2p文件夹是什么意思,怎么进去呢?我这里只有一个变化的go.mod啊
按照教程说用到gx,可是我gx也下载了,可是好像用不了,查看version看不了
现在又试了一下,似乎都下载不了了?(卡了好久不动,不知道是不是代理慢)
对于之后的make 和make deps我其实也不懂,但是如今卡在进文件夹(悲)
其实我也尝试过clone整个libp2p的库
也在它的examples目录里创建了p2p
之后是main.go
结果就是说这些包无法解析,理论上这些包是这个复制的库里的,却不能用·
不是很懂
(其实笔者也就是一位无名大一生,搬运代码并看看运行,没曾想运行不了,真是一大悲事)
对等连接工作方式(P2P方式)是一种分布式网络架构,其中每个参与者都可以充当客户端和服务器。在P2P区块链中,参与者可以共享和传输区块链的数据,以实现去中心化的共识和数据验证。
根据您的描述,您在尝试使用goland实现一个P2P区块链,并遇到了一些安装设置和调用库的问题。下面我将一步一步指导您如何解决这些问题。
首先,确保您已经正确安装了goland和Go语言环境。您可以在goland的官方网站上下载和安装goland,并在Go官方网站上下载和安装Go语言环境。
打开goland,并创建一个新项目。在创建项目时,选择一个适当的路径,并将其命名为P2pBlockchain。
在项目的根目录下打开终端。如果您在goland中打开了项目,则可以直接在goland的终端选项卡中使用终端。
在终端中运行以下命令,以初始化go.mod文件并进行设置:
go mod init P2pBlockchain
这将创建一个名为go.mod的文件,该文件用于管理项目的依赖关系和包。
go get -d github.com/libp2p/go-libp2p
此命令将自动下载并安装go-libp2p包及其所有依赖项。成功执行后,go.mod文件中将显示相关内容。
cd $GOPATH/pkg/mod/github.com/libp2p/go-libp2p
您提到使用gx工具时遇到了问题。gx是一个用于管理Go语言包的工具,但我建议您使用go mod来管理包和依赖项。因此,您无需继续使用gx工具。
您尝试通过克隆整个libp2p库并创建一个名为p2p的文件夹来解决问题。这个方法是正确的,但您需要确保已经正确克隆了库。您可以在终端中使用以下命令来克隆整个libp2p库:
git clone https://github.com/libp2p/go-libp2p
然后,进入克隆的库目录并创建p2p文件夹:
cd go-libp2p/examples
mkdir p2p
cd p2p
在p2p文件夹中创建main.go文件,并在其中编写您的代码。
package main
import (
"context"
"fmt"
"github.com/libp2p/go-libp2p"
// 导入其他所需的包
)
func main() {
// 添加代码来运行您的P2P区块链
}
综上所述,根据您描述的情况,这些步骤应该可以帮助您解决在goland中实现P2P区块链时遇到的安装设置和调用库的问题。如果您遇到任何其他问题或需要进一步的帮助,请随时向我提问。祝您好运!