Skip to content

Commit 09146c2

Browse files
author
auxten
committed
chore(publish): published 0.7.0 docs by [auxten]
1 parent 021c669 commit 09146c2

26 files changed

+2694
-0
lines changed

website/i18n/zh-CN.json

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,102 @@
277277
},
278278
"version-0.6.0-usecase": {
279279
"title": "使用案例"
280+
},
281+
"version-0.7.0-usecase_data_analysis": {
282+
"title": "数据分析"
283+
},
284+
"version-0.7.0-usecase_dapp": {
285+
"title": "DApp"
286+
},
287+
"version-0.7.0-usecase_traditional_app": {
288+
"title": "传统应用"
289+
},
290+
"version-0.7.0-arch": {
291+
"title": "实现细节"
292+
},
293+
"version-0.7.0-arch_network": {
294+
"title": "网络传输层"
295+
},
296+
"version-0.7.0-arch_layers": {
297+
"title": "主链和侧链"
298+
},
299+
"version-0.7.0-adapter": {
300+
"title": "API 网关"
301+
},
302+
"version-0.7.0-api-json-rpc": {
303+
"title": "JSON RPC"
304+
},
305+
"version-0.7.0-keygen": {
306+
"title": "使用 cql-utils 生成密钥与钱包"
307+
},
308+
"version-0.7.0-cql": {
309+
"title": "CQL 客户端"
310+
},
311+
"version-0.7.0-cql_intro": {
312+
"title": "简介"
313+
},
314+
"version-0.7.0-cql_account": {
315+
"title": "账号管理"
316+
},
317+
"version-0.7.0-cql_wallet": {
318+
"title": "钱包管理"
319+
},
320+
"version-0.7.0-cql_db_manage": {
321+
"title": "数据库管理"
322+
},
323+
"version-0.7.0-cql_db_access": {
324+
"title": "访问数据库"
325+
},
326+
"version-0.7.0-cql_server": {
327+
"title": "本地服务"
328+
},
329+
"version-0.7.0-cql_advance": {
330+
"title": "高级使用"
331+
},
332+
"version-0.7.0-golang-client": {
333+
"title": "使用 Golang 驱动访问数据库"
334+
},
335+
"version-0.7.0-intro": {
336+
"title": "CovenantSQL 介绍"
337+
},
338+
"version-0.7.0-testnet": {
339+
"title": "CovenantSQL 测试网快速入门"
340+
},
341+
"version-0.7.0-guide-zh": {
342+
"title": "快速开始"
343+
},
344+
"version-0.7.0-advanced_deployment": {
345+
"title": "私有部署"
346+
},
347+
"version-0.7.0-advanced_secure_gateway": {
348+
"title": "数据库安全网关"
349+
},
350+
"version-0.7.0-driver_golang": {
351+
"title": "Golang"
352+
},
353+
"version-0.7.0-driver_java": {
354+
"title": "Java"
355+
},
356+
"version-0.7.0-driver_js": {
357+
"title": "JavaScript"
358+
},
359+
"version-0.7.0-driver_python": {
360+
"title": "Python"
361+
},
362+
"version-0.7.0-nav": {
363+
"title": "使用导航"
364+
},
365+
"version-0.7.0-qna": {
366+
"title": "常见问题解答"
367+
},
368+
"version-0.7.0-quandl": {
369+
"title": "数据分析"
370+
},
371+
"version-0.7.0-quickstart": {
372+
"title": "快速开始"
373+
},
374+
"version-0.7.0-usecase": {
375+
"title": "使用案例"
280376
}
281377
},
282378
"links": {
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
id: adapter
3+
title: 📦 Adapter SDK
4+
---
5+
6+
# 通过 Adapter 使用 CovenantSQL
7+
8+
`CovenantSQL` 提供了 HTTP/HTTPS Adapter,类似于云数据库, 开发者可以直接用 HTTP 的形式使用 CovenantSQL。
9+
10+
## 安装和使用
11+
12+
首先,[安装 Docker](https://docs.docker.com/install/)
13+
14+
然后,需要确认我们有一个可用的配置和公私钥对,通常我们默认的配置和公私钥对的存储位置为 `~/.cql/` 目录。生成或获取请参考 [QuickStart#创建账号](./quickstart#创建账号)
15+
16+
### Docker 运行 Adapter
17+
18+
下面的命令将使用`~/.cql/config.yaml``~/.cql/private.key` 启动 Adapter,并把端口映射在 `0.0.0.0:11105`
19+
20+
```bash
21+
export adapter_addr=0.0.0.0:11105
22+
docker rm -f cql-adapter
23+
docker run -itd \
24+
--env COVENANT_ROLE=adapter --env COVENANT_CONF=/app/config.yaml \
25+
--env COVENANTSQL_ADAPTER_ADDR=0.0.0.0:4661 \
26+
-v ~/.cql/config.yaml:/app/config.yaml \
27+
-v ~/.cql/private.key:/app/private.key \
28+
--name cql-adapter -p $adapter_addr:4661 \
29+
covenantsql/covenantsql:testnet
30+
```
31+
32+
### 创建数据库
33+
34+
使用 `cql` 命令并使用 `create` 参数提供所需的数据库节点数量创建数据库实例,例如:创建一个单节点的数据库实例
35+
36+
```bash
37+
docker run -it --rm \
38+
-v ~/.cql/config.yaml:/app/config.yaml \
39+
-v ~/.cql/private.key:/app/private.key \
40+
--entrypoint /app/cql covenantsql/covenantsql:testnet \
41+
create -config /app/config.yaml -wait-tx-confirm -db-node 1
42+
```
43+
44+
命令会返回创建的数据库实例的连接串(DSN)
45+
46+
```bash
47+
covenantsql://0a255f136520a2bc6a29055a619ec4f72c2c80fa600daf73b1caa375946ea0e4
48+
```
49+
50+
## 主流语言 Driver 的使用
51+
52+
1. [Golang](./driver_golang)
53+
2. [Java](./driver_java)
54+
3. [Python](./driver_python)
55+
4. [NodeJS](./driver_js)
Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
---
2+
id: advanced_deployment
3+
title: Private Deploy
4+
---
5+
6+
## 使用 CovenantSQL Docker 部署
7+
8+
### 安装 Docker
9+
10+
需要在机器上安装 docker 和 docker-compose 来一键部署 CovenantSQL
11+
12+
Docker:https://docs.docker.com/install/
13+
14+
Docker-Compose:https://docs.docker.com/compose/install/
15+
16+
### 下载项目
17+
18+
```bash
19+
git clone https://github.com/CovenantSQL/CovenantSQL
20+
cd CovenantSQL
21+
```
22+
23+
后续的所有命令,工作目录默认都是在 clone 的 CovenantSQL 源码目录中,可以执行
24+
25+
```bash
26+
export COVENANTSQL_ROOT=$PWD
27+
```
28+
29+
存为环境变量
30+
31+
### 启动 Docker 容器
32+
33+
现在有两种方式启动 CovenantSQL 容器:
34+
35+
1. 使用 Docker Hub 上的公共镜像
36+
2. 构建 CovenantSQL Docker 镜像
37+
38+
> 我们推荐普通用户使用第一种方式测试 CovenantSQL,第二种仅用于体验最新的开发中的特性。
39+
40+
#### 1. 使用 Docker Hub 上的公共镜像
41+
42+
然后直接启动:
43+
44+
```bash
45+
make start
46+
```
47+
48+
#### 2. 构建 CovenantSQL Docker 镜像
49+
50+
执行以下的命令在本地运行 CovenantSQL
51+
52+
```bash
53+
make docker # 从头编译新的镜像
54+
make start
55+
```
56+
57+
### 检查运行状态
58+
59+
检查容器状态:
60+
61+
```bash
62+
docker-compose ps
63+
```
64+
65+
确认所有组件都处于 `Up` 的状态
66+
67+
```
68+
Name Command State Ports
69+
---------------------------------------------------------------------------------------------------------------------
70+
covenantsql_adapter ./docker-entry.sh Up 0.0.0.0:11105->4661/tcp
71+
covenantsql_bp_0 ./docker-entry.sh Up 0.0.0.0:11099->4661/tcp, 0.0.0.0:12099->4665/tcp
72+
covenantsql_bp_1 ./docker-entry.sh Up 0.0.0.0:11100->4661/tcp, 0.0.0.0:12100->4665/tcp
73+
covenantsql_bp_2 ./docker-entry.sh Up 0.0.0.0:11101->4661/tcp, 0.0.0.0:12101->4665/tcp
74+
covenantsql_fn_0 ./docker-entry.sh -wsapi :8546 Up 4661/tcp, 0.0.0.0:11110->8546/tcp
75+
covenantsql_miner_0 ./docker-entry.sh Up 0.0.0.0:11102->4661/tcp, 0.0.0.0:12102->4665/tcp
76+
covenantsql_miner_1 ./docker-entry.sh Up 0.0.0.0:11103->4661/tcp, 0.0.0.0:12103->4665/tcp
77+
covenantsql_miner_2 ./docker-entry.sh Up 0.0.0.0:11104->4661/tcp, 0.0.0.0:12104->4665/tcp
78+
covenantsql_mysql_adapter ./docker-entry.sh -listen ... Up 4661/tcp, 0.0.0.0:11107->4664/tcp
79+
covenantsql_observer ./docker-entry.sh Up 4661/tcp, 0.0.0.0:11108->80/tcp
80+
```
81+
82+
## 操作 CovenantSQL
83+
84+
### 创建数据库
85+
86+
使用 `cql` 命令并使用 `create` 参数提供所需的数据库节点数量创建数据库实例,例如:创建一个单节点的数据库实例
87+
88+
```bash
89+
cql create -config ${COVENANTSQL_ROOT}/test/service/node_c/config.yaml -db-node 1
90+
```
91+
92+
> 修改 `create` 参数的值,可以创建运行在多节点上的实例,例如:创建两个节点的实例
93+
94+
```bash
95+
cql create -config ${COVENANTSQL_ROOT}/test/service/node_c/config.yaml -db-node 2
96+
```
97+
98+
命令会返回创建的数据库实例的连接串
99+
100+
```
101+
covenantsql://4bc27a06ae52a7b8b1747f3808dda786ddd188627bafe8e34a332626e7232ba5
102+
```
103+
104+
### 访问数据库
105+
106+
使用 `cql` 命令并使用 `dsn` 参数提供数据库实例的连接串进行数据库访问
107+
108+
```bash
109+
cql console -config ${COVENANTSQL_ROOT}/test/service/node_c/config.yaml covenantsql://0a255f136520a2bc6a29055a619ec4f72c2c80fa600daf73b1caa375946ea0e4
110+
```
111+
112+
会得到如下输出,并进入 `cql` 交互命令行模式
113+
114+
```
115+
Connected with driver covenantsql (develop-34ae741a-20190415135520)
116+
Type "help" for help.
117+
118+
co:4bc27a06ae52a7b8b1747f3808dda786ddd188627bafe8e34a332626e7232ba5=>
119+
```
120+
121+
`cql` 交互命令行模式的使用方法类似 `mysql` 命令,例如:创建一个名为 `test` 的表,查看数据库中的表,插入记录,查询结果
122+
123+
```sql
124+
CREATE TABLE test (test TEXT);
125+
SHOW TABLES;
126+
INSERT INTO test VALUES("happy");
127+
SELECT * FROM test;
128+
```
129+
130+
会得到如下输出
131+
132+
```
133+
co:4bc27a06ae52a7b8b1747f3808dda786ddd188627bafe8e34a332626e7232ba5=> CREATE TABLE test (test TEXT);
134+
CREATE TABLE
135+
co:4bc27a06ae52a7b8b1747f3808dda786ddd188627bafe8e34a332626e7232ba5=> SHOW TABLES;
136+
name
137+
------
138+
test
139+
(1 row)
140+
141+
co:4bc27a06ae52a7b8b1747f3808dda786ddd188627bafe8e34a332626e7232ba5=> INSERT INTO test VALUES("happy");
142+
INSERT
143+
co:4bc27a06ae52a7b8b1747f3808dda786ddd188627bafe8e34a332626e7232ba5=> SELECT * FROM test;
144+
test
145+
-------
146+
happy
147+
(1 row)
148+
149+
co:4bc27a06ae52a7b8b1747f3808dda786ddd188627bafe8e34a332626e7232ba5=>
150+
```
151+
152+
使用 `Ctrl + D` 快捷键或输入 `\q` 可以退出 `cql` 交互命令行
153+
154+
### SQLChain Observer
155+
156+
镜像中的 Observer 角色使用了和 mysql-adapter 镜像中相同的 private.key ,故可以免去新账户授权和转账的过程制。
157+
158+
(关于权限管理的详细说明请参考[数据库权限管理](cql_db_manage#数据库权限管理)
159+
160+
#### 在浏览器使用 SQLChain Observer
161+
162+
我们在 `127.0.0.1:11108` 端口提供了一个 SQLChain 的 Observer 可以看到 SQL 语句在链上的情况。

0 commit comments

Comments
 (0)