您的位置:首页 > 运维架构 > Docker

运行301毕设-初步学习

2017-10-27 12:47 197 查看
一、安装软件

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 main

import (
"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 string
key = args[0]
value = args[1]

var err error
err = 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 string
key = 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的账户
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息