运行301毕设-初步学习
一、安装软件
1.JDK JRE安装
2.Tomcat8.5.23
3.MySQL5.7.20
4.Navicat for MySQL
5.MyEclipse2017
6.GO语言环境准备
7.Windows安装DockerToolbox
8.mRemoteNG下载安装
9.下载Chorm浏览器的POSTMAN插件
二、Docker部署区块链
三、运行
1.MyEclipse打开项目
2.建数据库表
按照代码中NIBC文件夹下“NISBC数据库设计.docx”的要求创建名为nissql的数据库
3.连接MyEclpise和MySQL
4.运行区块链环境
(1)打开Docker Quickstart Terminal,输入docker-compose up
(2)打开mRemoteNG,双击IP打开链接
(3)在mRemoteNG输入docker ps
(4)输入docker exec -it my_vp0_1 bash
(5)退回到.../github.com目录,输入mkdir SaveState新建一个SaveState文件夹
(6)进入SaveState,输入vi SaveState.go新建一个SaveState.go文件
(7)按一下i键进入编辑模式,复制如下代码进文件(复制,在mRemoteNG鼠标右键)
package mainimport ("errors""fmt""github.com/hyperledger/fabric/core/chaincode/shim"
)type SaveState2Chaincode struct {
}func (t *SaveState2Chaincode) Init(stub shim.ChaincodeStubInterface, function string, args []string) ([]byte, error) {fmt.Printf("Init called with function %s!\n", function)return nil, nil
}func (t *SaveState2Chaincode) Invoke(stub shim.ChaincodeStubInterface, function string, args []string) ([]byte, error) {fmt.Printf("Invoke called with function %s!\n", function)var key, value stringkey = args[0]value = args[1]var err errorerr = stub.PutState(key, []byte(value))if err != nil {return nil, err} return nil, nil
}func (t *SaveState2Chaincode) Query(stub shim.ChaincodeStubInterface, function string, args []string) ([]byte, error) {fmt.Printf("Query called with function %s!\n", function)var key stringkey = args[0]valInBytes, err := stub.GetState(key)if err != nil {return nil, errors.New("Failed to get state for " + key)}message := "State for " + key + " = " + string(valInBytes)return []byte(message), nil
}func main() {err := shim.Start(new(SaveState2Chaincode))if err != nil {fmt.Printf("Error starting Save State chaincode: %s", err)}
}
Esc,输入:wq保存文件
(8)输入go build ./(注意点之前的空格),此时查看目录下的内容可以看到一个绿色的SaveState文件
(9)输入
export CORE_CHAINCODE_ID_NAME=mycc
export CORE_PEER_ADDRESS=0.0.0.0:7051
./SaveState &
(10)向Hyperledger服务接口http://192.168.99.100:7050/registrar发送如下REST请求,使用内置的jim用户登录系统
{
"enrollId": "jim",
"enrollSecret": "6avZQLwcUe9b"
}
此时区块链环境就运行好了
(11)如果出现了各种奇奇怪怪的问题,关掉mRemoteNG和docker,重新打开docker并输入
docker rm -f $(docker ps -a -q)
docker-compose up
重新做可以解决大部分问题
5.运行MyEclipse
四、功能
1.注册用户AAA、用户BBB
2.用户AAA充值
3.用户AAA给用户BBB投保
4.用户BBB索赔,则用户AAA投保的钱进入用户BBB的账户
运行301毕设-初步学习相关推荐
- eclipsevue代码怎么运行_[Java教程]使用eclipse初步学习vue.js操作
[Java教程]使用eclipse初步学习vue.js操作 0 2017-11-26 19:00:06 一.vue.js的初步认识 https://unpkg.com/vue ">vu ...
- HTMLParser的初步学习
Python的自带模块--HTMLParser的初步学习 HTMLParser是Python自带的模块,使用简单,能够很容易的实现HTML文件的分析. 本文主要简单讲一下HTMLParser的用法. ...
- 初步学习pg_control文件之三
接前文,初步学习pg_control文件之二 继续学习: 研究 DBState,先研究 DB_IN_PRODUCTION ,看它如何出现: 它出现在启动Postmaster时运行的函数处: /* * ...
- 【TensorFlow-serving】初步学习模型部署
前言 初步学习tensorflow serving的手写数字识别模型部署.包括简单的模型训练.保存.部署上线.因为对docker和网络不太熟悉,可能会有部分错误,但是看完博客,能跑通整个流程.此博客将 ...
- 罗佳琪的第三次预备作业——虚拟机的安装及Linux的初步学习
虚拟机的安装及Linux的初步学习 坎坷的安装过程 首先我按照老师给的基于VirtualBox虚拟机安装Ubuntu图文教程进行了下载,下载很顺利但是安装时出现了问题. 起初我以为是电脑位数问题,但我 ...
- 从入门到入土:机器学习part01|python|代码分析|初步学习
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...
- TCP与UDP协议初步学习——网络环境中分布式进程通信的基本概念
TCP与UDP协议初步学习--网络环境中分布式进程通信的基本概念 一.单机系统中进程通信方法 进程和进程通信是操作系统中最基本的概念,首先通过回忆操作系统课程中,关于单击系统中进程和进程通信的问题描述 ...
- 关于Unity3D的初步学习研究周记
关于Unity3D的初步学习研究周记(1) 学习总结: 本次学习Unity3D其实算是对基本的复习,因为在以前自己玩过一段时间,我也有一点C#的基础,所以我是直接开始做的一些小测试,因为事件原因,两个 ...
- Ogre个人初步学习总结
Ogre个人初步学习总结 目录 1.开发环境 2.环境配置 2.1Ogre环境配置 2.2ParticleUniverse 环境配置 3.OGRE的学习札记 3.1Ogre的学前准备 3.1.1Ogr ...
最新文章
- 解决Failed to execute goal org.apache.maven.plugins
- php redis 二进制,php-redis扩展
- linux进入probe目录,Linux基础学习系列——Linux文件目录操作命令
- NBJL 2020论文导读14:How Much Position Information Do Convolutional Neural Networks Encode ?
- 2020年十大数据中心行业趋势
- 设计模式--状态(State)模式
- 为老乡拼一单拼多多拼农产品 谋定中国农民丰收节交易会
- java 对增删该查进行测试_java连接mysql增删改查测试通过
- Matlab | Matlab从入门到放弃(10)——线性方程组
- linux中Tomcat 8 文件上传后无访问权限
- Spring MVC实现Junit Case
- vue.js嵌套路由-------由浅入深
- 21 句话入门机器学习
- 域名卡密自助授权系统
- png转icon java,PNG转ICO - steambap的个人空间 - OSCHINA - 中文开源技术交流社区
- 线性组合(linear combinations), 生成空间(span), 基向量(basis vectors)——线性代数本质(二)
- 移动端开发入门--基础知识
- 基于QT的【第一个项目】设计+所有组件配合使用+网络编程局域网通信+文件IO操作+登录界面和头像+多界面跳转+JSON数据解析+表情包制作
- 干货!学霸用12个决策模型告诉你,如何判断你到底需不需要区块链!
- excel表格多行空白,让空白行临近上方的数据自动填充到空白行
热门文章
- 【无机纳米材料科研制图——3ds Max 0107】3dmax高尔基体、细胞膜建模
- python自动数据分析_老板让我从几百个Excel中查找数据,我用python一分钟搞定!...
- AcWing 3205. 最优配餐
- pixi-老虎机实现
- 关于python爬虫代理ip设置proxies的问题
- three.js学习笔记(十)——物理引擎
- html 配置超链接不可用,css如何设置超链接不可用?
- win8不能调节屏幕亮度解决方法
- 【Python】DS的基础学习笔记7:文件、异常和模块
- C++ mismatch(STL mismatch)算法详解