Compare commits

..

10 Commits

Author SHA1 Message Date
CaiHQ
082f46d836 add 1.4.7 plugin 2023-03-06 14:58:08 +08:00
CaiHQ
860ef1c343 Revert "更新插件"
This reverts commit 905b06be39.
2023-03-06 14:54:33 +08:00
CaiHQ
cc7a033944 Revert "release"
This reverts commit 6b21c7ff7c.
2023-03-06 14:54:30 +08:00
CaiHQ
6b21c7ff7c release 2023-03-06 14:32:46 +08:00
赵子豪
905b06be39 更新插件
Signed-off-by: 赵子豪 <793916584@qq.com>
2023-03-02 08:34:43 +00:00
CaiHQ
dae0ee3726 update readme.md 2022-12-07 23:58:20 +08:00
CaiHQ
1b60a1b64a update ypk-packer 2022-11-24 21:17:50 +08:00
赵子豪
2d5b0f7586 yjs插件 1.2 2022-10-12 07:23:31 +00:00
CaiHQ
f323163303 upgrade to 1.6.7 2022-09-28 19:33:53 +08:00
CaiHQ
5b7811b85b update build dependencies
update cp version
2022-09-27 16:41:09 +08:00
6 changed files with 58 additions and 24 deletions

View File

@@ -1,30 +1,28 @@
# contract-java-example
#### 介绍
## 介绍
idea开发合约的示例。
#### 测试环境配置
## 测试环境配置
1. 在本地准备docker测试环境。
```bash
cd bdserver-docker-compose
docker-compose up -d
cat bdcontract/manager.keypair
#并复制这组{"publickey".."privateKey"}
```
2. 打开浏览器`http://127.0.0.1:21030/NodePortal.html`。点击右上角`欢迎04xx`按钮将步骤1中的keyPair复制并点`导入密钥`
### 开发环境配置
## 开发环境配置
可安装idea插件`ideaplugin/yjs-formater-1.0-SNAPSHOT-1653060411648.zip`
用于格式化yjs文件和自动补全。
#### 调试运行
## 在本机调试运行
1修改debugconf.json,将cpHost改为从docker可访问的域名或ip。
1.修改debugconf.json,将cpHost改为从docker可访问的域名或ip。
```
在MAC/Linux环境下可使用ifconfig | grep inet ,查看本地局域网ip并配置到cpHost字段。
@@ -55,14 +53,47 @@ test/java/HelloTest.run
```
注意run方法中的`for (;;);`用于防止测试用例退出。
在windows中可能影响其他测试用例运行。可独立写个`public static void main(String[] args)`去运行合约。
在windows中可能影响其他测试用例运行。可编写`public static void main(String[] args)`去运行合约。
#### 部署运行
3.带UI的ypk调试
由于bdcontract会根据启动参数中的ypkPath去解析ypk文件中的资源文件因此当需要通过`http://xxx:xx/DOIP/ContractID`这种形式去访问静态资源时,
需要配置ypk路径映射。
一种做法是:
1) 在./bdserver-docker-compose目录下在启动之后会生成一个文件`./bdcontract/BDWareProjectDir`。将该目录映射至./backend目录下或是backend的上级目录下。
```
cd 至backend
ln -s /absolute/path/to/BDWareProjectDir ./
```
2) 修改DebugMain的启动路径为BDWareProjectDir所在目录。
3) 修改debugconf.json中的ypkPath使用相对路径的形式`./BDWareProjectDir/xxx`
4) 注意需要将编译好的ypk放至BDWareProjectDir中。可编写一个新的gradle task完成脚本化复制。如
```
task copyToBDWareProjectDir(type: Copy) {
from "./build/contractexample-${currVersion}.ypk"
into "../bdserver-docker-compose/bdcontract/BDWareProjectDir/"
}
```
## 在docker内调试运行
打开镜像的`NodePortal.html`页面以ypk的形式启动。
在启动时,增加`remoteDebugPort`,注意远程调试的端口需要在镜像中映射出来。
可使用docker镜像默认映射端口范围`21050-21100`,例如`21058`
而后即可通过jdwp可进行远程调试。 如果使用`idea`作为开发环境,则可搜索`idea java remote debug`,查看相关教程。
NodePortal.html可参考[BDContract管理页面](https://public.internetapi.cn/docs/bdcontract/doc/IDEUsage.html)
## 部署运行
部署至远程服务端执行":backend:deploy"任务:
即执行./backend/build.gradle 中的 deploy。
#### 前端sdk说明
## 前端sdk说明
1. 如何使用javascript sdk
2. 如何使用typescript sdk
@@ -70,16 +101,16 @@ test/java/HelloTest.run
3. 如何配置成前后端独立连接的
4. 如何配置成前后端一体化
##### 模拟后端数据
## 模拟后端数据
#### 后端常用方法说明
## 后端常用方法说明
##### 调用相同CP的yjs代码
## 调用相同CP的yjs代码
参考:
Hello.callYJSInSameCP
##### 调用其他CP的yjs代码
## 调用其他CP的yjs代码
参考:
Hello.callYJSInOtherCP

View File

@@ -1,11 +1,10 @@
buildscript {
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
classpath "org.bdware.bdcontract:simple-ypk-packer:0.5.0"
classpath "org.bdware.bdcontract:ypk-deploy-tool:0.5.2"
classpath "org.bdware.bdcontract:simple-ypk-packer:0.5.5"
classpath "org.bdware.bdcontract:ypk-deploy-tool:0.7.1"
}
}
plugins {
@@ -40,7 +39,7 @@ sourceSets {
dependencies {
api 'org.apache.logging.log4j:log4j-core:2.17.2'
api 'org.apache.logging.log4j:log4j-api:2.17.2'
implementation 'org.bdware.sc:cp:1.5.7'
implementation 'org.bdware.sc:cp:1.6.8'
testImplementation 'junit:junit:4.13.2'
}
@@ -73,12 +72,16 @@ task copyJar(type: Copy, dependsOn: [":backend:jar", ":backend:copyLibs"]) {
}
def reltivePath = "./backend"
//reltivePath="."
def currVersion = "1.3.0"
def currVersion = "1.3.2"
task grepCP(dependsOn: ["copyJar"]) {
doLast {
org.bdware.datanet.YPKPacker.grepJarByCPVersion("${reltivePath}/build/output/libs", org.bdware.datanet.CPVersion.cp_1_5_3)
org.bdware.datanet.YPKPacker.grepJarByCPVersion("${reltivePath}/build/output/libs", org.bdware.datanet.CPVersion.cp_1_6_8)
org.bdware.datanet.YPKPacker.grepJarByListFile("${reltivePath}/build/output/libs", "${reltivePath}/grepcp.list")
}
}
tasks.processResources.setDuplicatesStrategy(DuplicatesStrategy.INCLUDE)
tasks.processTestResources.setDuplicatesStrategy(DuplicatesStrategy.INCLUDE)
task buildZip(type: Zip, dependsOn: ["copyAssets", "copyJar", "copyYJS", "grepCP"]) {
from './build/output/'

View File

@@ -1,3 +1,3 @@
log4j-core-2.14.1.jar
log4j-api-2.14.1.jar
yjs.jar
common-1.5.9.jar
cp-1.6.4.jar
rocksdbjni-7.3.1.jar

View File

@@ -12,7 +12,7 @@ services:
- "2416:2416" # P2P
- "2401:2401" # API
bdcontract:
image: bdware/bdcontract:1.7.9
image: bdware/bdcontract:1.8.2
command: "-Dfile.encoding=UTF-8 -Djava.library.path='./dynamicLibrary' -Dlog4j.configurationFile=./log4j2.properties -cp ./libs/*:bdagent.jar org.bdware.server.CMHttpServer"
restart: unless-stopped
depends_on:

Binary file not shown.

Binary file not shown.