SDK编译

安装依赖软件

部署web3sdk之前需要安装git, dos2unix依赖软件:

  • git:用于拉取最新代码
  • dos2unix: 用于处理windows文件上传到linux服务器时,文件格式无法被linux正确解析的问题;
  • centos:
  1. $ sudo yum -y install git dos2unix
  • ubuntu:
  1. $ sudo apt install git tofrodos
  2. $ ln -s /usr/bin/todos /usr/bin/unxi2dos && ln -s /usr/bin/fromdos /usr/

编译源码

执行如下命令拉取并编译源码:

  1. #=== 创建并进入web3sdk源码放置目录(假设为~/mydata/)=====$ mkdir -p ~/mydata$ cd ~/mydata#==== 拉取git代码 ====$ git clone https://github.com/FISCO-BCOS/web3sdk$ cd web3sdk#==切换到目录版本==$ git checkout master-1.2#===编译we3bsdk源码,生成dist目录 ===$ dos2unix *.sh$ . ./compile.sh#===编译成功后,web3sdk目录下生成dist文件夹,目录结构如下==========.├── build ├── classes ├── 省略若干行…├── build.gradle├── dist ├── apps #存放web3sdk.jar ├── bin #存放可执行脚本compile.sh和web3sdk ├── contracts #合约存储目录 └── lib #所有jar包存放目录├── README.md├── src ├── …省略若干行…└── tools| ├── bin| └── contracts

web3sdk编译成功后,会生成dist目录,dist目录主要内容如下:

目录说明
dist/apps存放web3sdk编译生成的jar包web3sdk.jar
dist/bin- web3sdk: 调用web3sdk.jar执行web3sdk内方法(如部署系统合约、调用合约工具方法等)- compile.sh: 将dist/contracts目录下的合约代码转换成java代码,供开发者使用
dist/conf配置目录, 用于配置节点信息、证书信息、日志目录等
dist/contracts合约存放目录,compile.sh脚本可将存放于该目录下的合约代码转换成java代码
dist/lib存放web3sdk依赖库的jar包

如果本地未装gradle,您可以直接使用 ./gradlew build替代gradle build命令。碰到执行权限问题(Permission denied),可以执行chmod +x (FileName) 给文件增加执行权限,然后在执行脚本。