Giter VIP home page Giter VIP logo

聚龙链(JulongChain)平台

聚龙链平台是一个基于Java的开源联盟链区块链底层技术平台。该项目旨在使用符合国家密码管理要求的国密算法和证书体系,打造一个数据防篡改、账本分布共享、系统安全可靠的开源区块链基础设施平台,为金融、政务、能源等重点领域区块链应用提供平台支撑。

链接

Jira任务管理系统

Gitlab代码库管理系统

当前版本

当前版本为0.8。

开源说明

聚龙链平台使用Apache License, Version 2.0 (Apache-2.0), located in the LICENSE file.

如何编译

编译环境:
集成开发环境: IntelliJ IDEA 2017.3.3
JAVA开发环境:JDK 1.8.0_151
Maven依赖管理工具:Maven 3.5.2
代码版本管理工具:Git

编译步骤:
1.从GitHub上下载项目源码。

  • 打开IntelliJ IDEA,选择菜单File -> New -> Project from Version Control -> Git打开Clone Repository对话框。
  • 在URL文本框输入本项目的地址https://github.com/JulongChain/julongchain.git,然后点击"Test"按钮,测试链接连接是否成功。
  • 待连接成功后,在Directory文本框输入或选择项目工作文件夹。
  • 最后,点击Clone开始下载源码。

2.添加框架支持。

  • 项目名字右键 -> Add Framework Support。
  • Java EE version选择Java EE 8,勾选Maven选项。

3.设置Project环境。

  • 选择菜单File -> Project Structure, 打开项目结构窗口。
  • 左边导航选择Project,Project SDK选择已安装的JDK 1.8,Project language level 修改为8。
  • 左边导航选择Modules,右边窗口会展开源码目录,展开并选中src/main/proto目录,并点击斜上方的"Resources",可将其标识为资源。点击“Apply”或“OK”保存并退出。

4.Maven导入依赖包。

  • 找到pom.xml,右键在下拉菜单选择Maven -> Reimport,等待Maven下载完成。

5.编译源码。

  • 在Maven Projects视图中展开julongchain -> Lifecycle,选择双击compile进行编译。

如何打包运行

前置条件:
系统已经安装JDK8和Docker,配置好JDK 1.8的环境变量。
开发好智能合约,也可直接下载系统智能合约样例https://github.com/JulongChain/julongchain-smartcontract-ab-java-0.8,使用时只保留src和pom.xml文件即可。

详细步骤:

  • 1、在Maven Projects视图中展开julongchain -> Lifecycle,选择双击package进行打包,可得到julongchain.jar。
  • 2、使用WinRAR等压缩工具将julongchain.jar打开,将里面的lib文件夹拖拽拷贝至与julongchain.jar平级目录。
  • 3、将项目源码根目录下的msp和config两个文件夹拷贝至与julongchain.jar平级目录。
  • 4、使用java -jar julongchain.jar命令执行该Jar文件。具体命令详见下文"命令行支持"章节。
  • 5、最佳执行顺序:(1)启动Consenter节点->(2)启动Node节点->(3)创建群组->(4)加入群组->(5)安装智能合约->(6)实例化智能合约->(7)调用智能合约。其中(1)、(2)、(3)必须在不同的进程。在同一台服务器可采用不同的命令行窗口。

命令行支持

启动Consenter节点
java -jar julongchain.jar consenter start

启动Node节点
java -jar julongchain.jar node start

查询Node节点服务状态
java -jar julongchain.jar node status

创建群组
java -jar julongchain.jar group create -c 127.0.0.1:7050 -g myGroup
参数说明:
-c 共识节点地址
-g 群组名称

加入群组
java -jar julongchain.jar group join -t 127.0.0.1:7051 -b /home/bcia/Julongchain/myGroup.block
参数说明:
-t 要加入群组的目标节点地址
-b 创世区块保存的文件地址

列出已加入的群组
java -jar julongchain.jar group list -t 127.0.0.1:7051
参数说明:
-t 要查询的目标节点地址

查询当前群组链信息
java -jar julongchain.jar group info -t 127.0.0.1:7051 -g myGroup
参数说明:
-t 要查询的目标节点地址
-g 群组名称

安装智能合约
java -jar julongchain.jar contract install -t 127.0.0.1:7051 -n mycc -v 1.0 -p /home/bcia/julongchain-smartcontract-ab-java-0.8
参数说明:
-t 要安装智能合约的目标节点地址
-n 智能合约名称
-v 智能合约版本
-p 智能合约源码路径(需包含src子目录和pom.xml文件)

实例化智能合约
java -jar julongchain.jar contract instantiate -t 127.0.0.1:7051 -c 127.0.0.1:7050 -g myGroup -n mycc -v 1.0 -i "{'args':['init','a','100','b','200']}" -P "OR ('Org1MSP.member','Org2MSP.member')"
参数说明:
-t 要实例化智能合约的目标节点地址
-c 共识节点地址
-g 群组名称
-n 智能合约名称
-v 智能合约版本
-i 智能合约init方法入参
-P 背书策略

调用智能合约
java -jar julongchain.jar contract invoke -t 127.0.0.1:7051 -c 127.0.0.1:7050 -g myGroup -n mycc -i "{'args':['move','a','b', '10']}"
参数说明:
-t 要执行智能合约的目标节点地址
-c 共识节点地址
-g 群组名称
-n 智能合约名称
-i 智能合约invoke方法入参

查询智能合约(不产生新的区块)
java -jar julongchain.jar contract query -t 127.0.0.1:7051 -g myGroup -n mycc -i "{'args':['query','a']}"
参数说明:
-t 要查询智能合约的目标节点地址
-g 群组名称
-n 智能合约名称
-i 智能合约invoke方法入参

JulongChain's Projects

JulongChain doesn’t have any public repositories yet.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.