运行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 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的账户



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值