contract-java-example/README.md
CaiHQ 0ffd44aef7 add readme
add bdserver-docker
add yjs plugin
2022-05-20 23:35:39 +08:00

86 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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。
```
在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配置
```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"
}
```
2.启动测试用例:
```
test/java/HelloTest.run
```
注意run方法中的`for (;;);`用于防止测试用例退出。
在windows中可能影响其他测试用例运行。可独立写个`public static void main(String[] args)`去运行合约。
#### 部署运行
部署至远程服务端执行":backend:deploy"任务:
即执行./backend/build.gradle 中的 deploy。
#### 前端sdk说明
1. 如何使用javascript sdk
2. 如何使用typescript sdk
3. 示例使用vite/vue/...等框架
3. 如何配置成前后端独立连接的
4. 如何配置成前后端一体化
##### 模拟后端数据
#### 后端常用方法说明
##### 调用相同CP的yjs代码
参考:
Hello.callYJSInSameCP
##### 调用其他CP的yjs代码
参考:
Hello.callYJSInOtherCP