## 开发环境设置
源代码文件夹需要放在GOROOT下的src目录中,否则在import时候将无法发现:
GOROOT是安装go的目录:
![](https://img.kancloud.cn/e9/6b/e96b2b3f7652d8e155f1445a804a8abe_732x283.png)
![](https://img.kancloud.cn/a8/6b/a86bbb6beeb7c74d01e1053507e61e04_768x256.png)
其中模块文件go.mod是在main.go所在目前中生成。
main.go所在的包为main,只有唯一的函数main,为程序的入口,用于检验我们的区块链的创建、检索等功能是否如我们预期一样运行。![](https://img.kancloud.cn/ac/bb/acbb4e55b91b9988c23ca94c94887bf9_1447x697.png)
要注意,引用的包名和main所在的包名称不一样。
(1)引用时候,包的路径需要是module name+包所在目录名称
(2)引用的包里面只有大写字母开头的变量和函数才能被发现和使用(即使是结构体里面的变量如需要调用也必须遵循同样的命名规则)
据说GOLand开发IDE比VS Code更友好。。。
## VS Code设置
VS Code以打开项目所在目录的方式打开项目,在项目根目录下,通过VS Code控制台,执行以下命令进行初始化:
go mod init sd-chain
上述命令为项目创建sd-chain模块。
## 加速github
1、查看git是否有代理设置
git config --global http.proxy
2、取消代理
git config --global --unset https.proxy
git config --global --unset https.proxy
3、设置国内代理(注意,vscode终端执行失败,需要用windows自带终端执行)
### 启用 Go Modules 功能
go env -w GO111MODULE=on
### 配置 GOPROXY 环境变量,以下三选一
### 1. 七牛 CDN
go env -w GOPROXY=https://goproxy.cn,direct
### 2. 阿里云
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
### 3. 官方
go env -w GOPROXY=https://goproxy.io,direct
查看修改的env是否成功:
go env
## 代理上网git设置
```
git config --global http.proxy 'socks5://127.0.0.1:4781'
git config --global https.proxy 'socks5://127.0.0.1:4781'
```
## 翻墙软件退出后,无法上网问题解决
windows7
![](https://img.kancloud.cn/3e/5f/3e5f70d1063e56ac1ddaad15243209c9_532x1749.png)
点击底部的“internet选项”:
![](https://img.kancloud.cn/f5/54/f554ac8cb798b5c3fcb859df9fd19adf_1174x675.png)
取消代理。
![](https://img.kancloud.cn/0f/8b/0f8b356ed7e82fc4132f02a3e450a00d_1213x640.png)
取消代理
## 使用pip安装软件
windows使用pip安装软件,有时候出现Fatal error lancher错误,改用下面的命令安装即可:
python -m pip install xxx
## vs code 新建ipynb无法保存问题解决
1、windows控制台安装jupyter
(1)升级pip命令
python -m pip install --upgrade pip
(2)安装jupyter
python -m pip install jupyter
2、新建一个ipynb为扩展名的文件(可先建一个txt文件,改扩展名为ipynb),右键单击打开,选择程序jupyter。程序一般在python安装目录下的Scripts子目录下,如:
C:\Python38\Scripts
3、vs code设置
File--reference下面:
![](https://img.kancloud.cn/05/e0/05e04cfd838d17a9f8762d8d29542460_1797x872.png)
添加ipynb扩展名的打开程序配置。
- 重要更新说明
- linechain发布
- linechain新版设计
- 引言一
- 引言二
- 引言三
- vs-code设置及开发环境设置
- BoltDB数据库应用
- 关于Go语言、VS-code的一些Tips
- 区块链的架构
- 网络通信与区块链
- 单元测试
- 比特币脚本语言
- 关于区块链的一些概念
- 区块链组件
- 区块链第一版:基本原型
- 区块链第二版:增加工作量证明
- 区块链第三版:持久化
- 区块链第四版:交易
- 区块链第五版:实现钱包
- 区块链第六版:实现UTXO集
- 区块链第七版:网络
- 阶段小结
- 区块链第八版:P2P
- P2P网络架构
- 区块链网络层
- P2P区块链最简体验
- libp2p建立P2P网络的关键概念
- 区块链结构层设计与实现
- 用户交互层设计与实现
- 网络层设计与实现
- 建立节点发现机制
- 向区块链网络请求区块信息
- 向区块链网络发布消息
- 运行区块链
- LineChain
- 系统运行流程
- Multihash
- 区块链网络的节点发现机制深入探讨
- DHT
- Bootstrap
- 连接到所有引导节点
- Advertise
- 搜索其它peers
- 连接到搜到的其它peers
- 区块链网络的消息订发布-订阅机制深入探讨
- LineChain:适用于智能合约编程的脚本语言支持
- LineChain:解决分叉问题
- LineChain:多重签名
- libp2p升级到v0.22版本
- 以太坊基础
- 重温以太坊的树结构
- 世界状态树
- (智能合约)账户存储树
- 交易树
- 交易收据树
- 小结
- 以太坊的存储结构
- 以太坊状态数据库
- MPT
- 以太坊POW共识算法
- 智能合约存储
- Polygon Edge
- block结构
- transaction数据结构
- 数据结构小结
- 关于本区块链的一些说明
- UML工具-PlantUML
- libp2p介绍
- JSON-RPC
- docker制作:启动多个应用系统
- Dockerfile
- docker-entrypoint.sh
- supervisord.conf
- docker run
- nginx.conf
- docker基础操作整理
- jupyter计算交互环境
- git技巧一
- git技巧二
- 使用github项目的最佳实践
- windows下package管理工具