contract-java-example/README.md

86 lines
2.2 KiB
Markdown
Raw Permalink Normal View History

2021-11-03 02:59:06 +00:00
# contract-java-example
#### 介绍
2021-11-03 02:59:06 +00:00
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。
```
在MAC/Linux环境下可使用ifconfig | grep inet ,查看本地局域网ip并配置到cpHost字段。
在Windows环境下可使用"cpHost":"host.docker.internal"。
其中host.docker.internal是docker中内置的一个域名可用于访问host。
https://docs.docker.com/desktop/windows/networking/
```
示例的debugconf.json配置
2021-12-07 09:00:03 +00:00
```json
{
"agentAddress": "127.0.0.1:21030",
"publicKey": "04180354fdb6507f8ab98ccfbe165ce11da74ba733f81af86ad6d32216b32cf4f797c559d50ceeefbf4c760c3483840471c67471b90acdffb388cd7d496d9a1610",
"privateKey": "1d4196947f59532db6f8f4055e58474a48db8f30b476ae3edc66406464521b3b",
"ypkPath": "./backend/build/contractexample-1.3.0.ypk",
"killBeforeStart": "ContractExample",
"createParam": {
},
"cpHost": "host.docker.internal"
}
```
2021-12-07 09:00:03 +00:00
2.启动测试用例:
```
test/java/HelloTest.run
```
注意run方法中的`for (;;);`用于防止测试用例退出。
在windows中可能影响其他测试用例运行。可独立写个`public static void main(String[] args)`去运行合约。
#### 部署运行
部署至远程服务端执行":backend:deploy"任务:
即执行./backend/build.gradle 中的 deploy。
2021-11-03 02:59:06 +00:00
2021-11-17 03:28:40 +00:00
#### 前端sdk说明
2021-11-03 02:59:06 +00:00
1. 如何使用javascript sdk
2. 如何使用typescript sdk
3. 示例使用vite/vue/...等框架
3. 如何配置成前后端独立连接的
4. 如何配置成前后端一体化
2021-11-03 02:59:06 +00:00
##### 模拟后端数据
2021-11-03 02:59:06 +00:00
2021-11-17 03:28:40 +00:00
#### 后端常用方法说明
2021-11-03 02:59:06 +00:00
2021-11-17 03:28:40 +00:00
##### 调用相同CP的yjs代码
2021-12-07 09:00:03 +00:00
参考:
Hello.callYJSInSameCP
2021-11-17 03:28:40 +00:00
##### 调用其他CP的yjs代码
2021-12-07 09:00:03 +00:00
参考:
Hello.callYJSInOtherCP