Skip to content

Commit fc903a5

Browse files
committed
docs: initialize english docs
1 parent bb58524 commit fc903a5

31 files changed

+1051
-4
lines changed

docs/faq/README.md

+41
Original file line numberDiff line numberDiff line change
@@ -1 +1,42 @@
11
# Overview
2+
3+
## witness_node启动常见问题
4+
5+
### 1. 如何判断witness_node在正常运行
6+
观察后台日志文件`trusted_node/logs/witness.log`, 如果日志持续在网络上接收区块,表示节点在正常运行, 如下
7+
```
8+
2018-08-23T07:10:39 th_a:invoke handle_block handle_block ] Got block: #6939202 time: 2018-08-23T07:10:39 latency: 29 ms from: init6 irreversible: 6939194 (-8) application.cpp:487
9+
2018-08-23T07:10:42 th_a:invoke handle_block handle_block ] Got block: #6939203 time: 2018-08-23T07:10:42 latency: 30 ms from: init4 irreversible: 6939195 (-8) application.cpp:487
10+
2018-08-23T07:10:45 th_a:invoke handle_block handle_block ] Got block: #6939204 time: 2018-08-23T07:10:45 latency: 32 ms from: init0 irreversible: 6939195 (-9) application.cpp:487
11+
2018-08-23T07:10:48 th_a:invoke handle_block handle_block ] Got block: #6939205 time: 2018-08-23T07:10:48 latency: 34 ms from: init5 irreversible: 6939197 (-8) application.cpp:487
12+
2018-08-23T07:10:51 th_a:invoke handle_block handle_block ] Got block: #6939206 time: 2018-08-23T07:10:51 latency: 34 ms from: init1 irreversible: 6939198 (-8) application.cpp:487
13+
2018-08-23T07:10:54 th_a:invoke handle_block handle_block ] Got block: #6939207 time: 2018-08-23T07:10:54 latency: 36 ms from: bob irreversible: 6939199 (-8) application.cpp:487
14+
2018-08-23T07:10:57 th_a:invoke handle_block handle_block ] Got block: #6939208 time: 2018-08-23T07:10:57 latency: 37 ms from: init1 irreversible: 6939200 (-8) application.cpp:487
15+
2018-08-23T07:11:00 th_a:invoke handle_block handle_block ] Got block: #6939209 time: 2018-08-23T07:11:00 latency: 39 ms from: init7 irreversible: 6939200 (-9) application.cpp:487
16+
2018-08-23T07:11:03 th_a:invoke handle_block handle_block ] Got block: #6939210 time: 2018-08-23T07:11:03 latency: 41 ms from: bao irreversible: 6939201 (-9) application.cpp:487
17+
2018-08-23T07:11:06 th_a:invoke handle_block handle_block ] Got block: #6939211 time: 2018-08-23T07:11:06 latency: 41 ms from: init8 irreversible: 6939202 (-9) application.cpp:487
18+
2018-08-23T07:11:09 th_a:invoke handle_block handle_block ] Got block: #6939212 time: 2018-08-23T07:11:09 latency: 44 ms from: init2 irreversible: 6939203 (-9) application.cpp:487
19+
2018-08-23T07:11:12 th_a:invoke handle_block handle_block ] Got block: #6939213 time: 2018-08-23T07:11:12 latency: 45 ms from: init4 irreversible: 6939204 (-9)
20+
```
21+
### 2. 块同步时报错
22+
观察后台日志文件`trusted_node/logs/witness.log`, 如果日志持续报错,如`"unlinkable block", "block does not link to known chain"`,这是区块同步出错了。
23+
24+
解决方法:
25+
* 区块同步异常,有可能本地的区块链文件坏掉了。需要停止witness\_node程序,然后删除trusted\_node, 重新启动witness\_node。
26+
* 或者不需要删除trusted\_node目录,启动命令加上参数`--resync-blockchain`, 会重新同步区块。
27+
### 3. 如何正常关闭witness\_node
28+
witness_node将所有数据以对象的形式保存在内存,程序正常退出时,会将内存中的数据写入到磁盘,所以不能强行kill掉进程,否则内存数据库会坏掉。
29+
* 如果witness\_node没有后台运行,则执行一次Ctrl + C, 然后等待程序保存内存数据后自动退出。
30+
* 如果witness\_node运行在后台, 执行`kill -s SIGINT $(pgrep witness_node)`,等待程序保存内存数据后自动退出。不能使用kill -9, 否则下次启动会重建索引,启动比较慢。
31+
### 4. witness_node进程正常,但不从网络接收区块
32+
* 检查后台日志文件, 发现无报错信息, 并且节点没有从网络中接收新区块。此时可能是你的witness_node版本比较低,请及时访问[github release 页面](https://github.com/gxchain/gxb-core/releases/latest) 下载最新的程序包。
33+
* 可以通过-v参数,查看witness_node版本号 :
34+
```
35+
$./programs/witness_node/witness_node -v
36+
Version: 1.0.180713-379-g4c9a2f4
37+
SHA: 4c9a2f4e168503abe3ce1432c699f88b8babe356
38+
Timestamp: 4 hours ago
39+
SSL: OpenSSL 1.0.2o 27 Mar 2018
40+
Boost: 1.67
41+
Websocket++: 0.7.0
42+
```

docs/guide/apis.md

+119-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,120 @@
1-
# APIs
1+
# API Reference
2+
3+
GXChain的节点提供WebSocket和JSONRPC两种接口形式
4+
5+
## 区块相关
6+
7+
### `get_block`
8+
9+
通过区块号获取区块信息
10+
11+
``` bash
12+
curl POST --data '{
13+
"jsonrpc": "2.0",
14+
"method": "call",
15+
"params": [0, "get_block", [1]],
16+
"id": 1
17+
}' https://node1.gxb.io/rpc
18+
```
19+
20+
根据区块号获取区块信息
21+
22+
### `get_block_header`
23+
24+
``` bash
25+
curl POST --data '{
26+
"jsonrpc": "2.0",
27+
"method": "call",
28+
"params": [0, "get_block_header", [1]],
29+
"id": 1
30+
}' https://node1.gxb.io/rpc
31+
```
32+
33+
根据区块号获取区块头信息
34+
35+
## 对象相关
36+
37+
在GXChain里面,通过不同的对象来存储不同类型的数据,常见的有以下几种类型
38+
39+
| ID | Object Type |
40+
| :--- | :--- |
41+
| 1.2.x | 帐户对象 |
42+
| 1.3.x | 资产对象 |
43+
| 1.5.x | 理事会成员对象 |
44+
| 1.6.x | 见证人对象 |
45+
| 1.10.x | 提案对象 |
46+
| 1.11.x | 操作历史对象 |
47+
| 1.13.x | 待解冻余额对象 |
48+
| 1.14.x | 预算项目对象 |
49+
| 1.25.x | 忠诚计划冻结余额对象 |
50+
| 2.0.0 | 系统全局参数对象 |
51+
| 2.1.x | 动态参数对象 |
52+
| 2.3.x | 资产动态参数对象 |
53+
| 2.5.x | 帐户余额对象 |
54+
| 2.6.x | 帐户统计对象 |
55+
| 2.7.x | 交易对象 |
56+
| 2.8.x | 区块摘要对象 |
57+
| 2.9.x | 帐户交易历史对象 |
58+
| 2.12.x | 见证人调度表对象 |
59+
60+
### `get_objects`
61+
62+
根据对象ID获取对象信息
63+
64+
``` bash
65+
curl --data '{
66+
"jsonrpc": "2.0",
67+
"method": "call",
68+
"params": [0, "get_objects", [["1.25.100","1.2.200"]]], "id": 1
69+
}' https://node1.gxb.io/rpc
70+
```
71+
72+
## 账户相关
73+
74+
### `get_account_by_name`
75+
76+
根据`account_name`获取`account`信息,**不包含**关联对象的信息,如账户资产余额,冻结余额等
77+
78+
``` bash
79+
curl --data '{
80+
"jsonrpc": "2.0",
81+
"method": "call",
82+
"params": [0, "get_account_by_name", ["nathan"]],
83+
"id": 1
84+
}' https://node1.gxb.io/rpc
85+
```
86+
87+
### `get_full_accounts`
88+
89+
根据`account_ids`获取完整账户信息,**包含**关联对象的信息,如账户资产余额,冻结余额等
90+
91+
``` bash
92+
curl --data '{
93+
"jsonrpc": "2.0",
94+
"method": "call",
95+
"params": [0, "get_full_accounts", [["1.2.1"],false]],
96+
"id": 1
97+
}' https://node1.gxb.io/rpc
98+
```
99+
100+
## 资产相关
101+
102+
### `list_assets`
103+
104+
根据首字母查询资产
105+
106+
### `lookup_asset_symbols`
107+
108+
根据资产名称获取资产详情
109+
110+
111+
112+
113+
114+
115+
116+
117+
118+
119+
2120

3-
## Overview

docs/guide/asset.md

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# 创建和发行资产
2+
3+
## 1. 创建资产
4+
访问[公信宝网页钱包](https://wallet.gxb.io),导入私钥, 按下图创建资产
5+
6+
![](./assets/asset/create_asset1.png)
7+
8+
![](./assets/asset/create_asset2.png)
9+
10+
填写完成后,点击“创建资产”, 弹出确认页面,点击"确认发送",完成资产创建。
11+
12+
创建不同长度的资产,需要燃烧的手续费不同(创建资产前,需要向往帐户里发送足够数量的GXS):
13+
```
14+
3字符资产 1000 GXS
15+
4字符资产 800 GXS
16+
5字符资产 500 GXS
17+
```
18+
19+
## 2. 发行资产
20+
21+
资产创建完成后,需要发行资产
22+
![](./assets/asset/issue_asset1.png)
23+
![](./assets/asset/issue_asset2.png)
24+
25+
## 3. 发行要点和最佳实践
26+
27+
**1) 按照当前市场流通份额,发送特定数额到基金会账号**
28+
29+
**2) 统一由基金会账号对资产进行分发和使用**
30+
31+
**3) 避免直接发行到非基金会账号下**
118 KB
Loading
166 KB
Loading
132 KB
Loading
145 KB
Loading
File renamed without changes.

docs/guide/assets/ide/addProject.png

90.1 KB
Loading

docs/guide/assets/ide/call.png

239 KB
Loading

docs/guide/assets/ide/call2.png

281 KB
Loading

docs/guide/assets/ide/compile.png

104 KB
Loading

docs/guide/assets/ide/deploy.png

258 KB
Loading

docs/guide/assets/ide/deploy2.png

214 KB
Loading

docs/guide/assets/ide/import.png

98.7 KB
Loading

docs/guide/assets/ide/queryPvk.png

205 KB
Loading

docs/guide/assets/ide/queryPvk2.png

64.7 KB
Loading

docs/guide/baas-api/22.md

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
## 获取存储费率
2+
3+
获取数据存储的费率(以KB为单位)
4+
5+
## 请求地址
6+
7+
GET /api/storeFee
8+
9+
## 请求参数
10+
11+
## 响应参数
12+
13+
| 参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例 |
14+
| --- | --- | --- | --- | --- | --- |
15+
| price\_per\_kbyte | Number | Y | | 每KB需要的GXS数,整数 | 20,实际为20/100000即0.00002GXS/KB |
16+
17+
```
18+
price_per_kbyte: 确保整数,金额 = 100000 * 实际金额
19+
```
20+
21+
例子
22+
23+
```js
24+
{
25+
"code":200,
26+
"msg":"ok",
27+
"data":{
28+
"price_per_kbyte":20
29+
}
30+
}
31+
```
32+
33+
## SDK示例-JAVA
34+
35+
```java
36+
GetStoreDataFeeReq request = new GetStoreDataFeeReq();
37+
GxbClient gxbClient = new GxbDefaultClient(storeUrl);
38+
// 获取返回
39+
GetStoreDataFeeResp resp = gxbClient.execute(request);
40+
```
41+
42+
## 错误情况
43+
44+
45+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
## 介绍
2+
3+
通过指定路径获取服务方提供的信息
4+
5+
## 请求地址
6+
7+
GET /provider
8+
9+
## 请求参数
10+
11+
12+
### 例子(以curl为例)
13+
```sh
14+
curl https://baas.gxchain.cn/api/storage/provider
15+
```
16+
17+
## 响应返回
18+
19+
```js
20+
{
21+
"code":200,
22+
"msg":"ok",
23+
"data":{
24+
"account_id":"1.2.639287", // 提供方正式环境baas account id
25+
"name":"GXChain Official BaaS Storage",
26+
"description":"公信宝BaaS存储+存证服务",
27+
"fees":[ // 支持的支付资产类型以及费率
28+
{"fee_per_kbytes": 20, "asset_id":"1.3.1"}
29+
]
30+
}
31+
}
32+
```
33+
34+
## SDK示例-JAVA
35+
36+
```java
37+
return new BaasDefaultClient(URL_HEADER + "storage/provider").execute(new ProviderReq());
38+
```
39+
40+
可参考**com.gxb.block.baas.sdk.client.api.BaasConstants**
41+
42+
43+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
## 介绍
2+
3+
通过Cid值获取对应存的数据
4+
5+
## 请求地址
6+
7+
GET /data/{cid}
8+
9+
## 请求参数
10+
11+
| 参数 | 类型 | 必填 | 最大长度 | 描述 | 示例 |
12+
| --- | --- | --- | --- | --- | --- |
13+
| cid | String | Y | 64 | 存储数据的Cid值 | QmaZrwThXyZm8Rxs93Tih3L6p4Q8NqYEXp32iN4PeAqDgv |
14+
15+
例子:
16+
17+
```js
18+
GET /api/data/QmaZrwThXyZm8Rxs93Tih3L6p4Q8NqYEXp32iN4PeAqDgv
19+
```
20+
21+
## 响应返回
22+
23+
返回一个 QmaZrwThXyZm8Rxs93Tih3L6p4Q8NqYEXp32iN4PeAqDgv.baas 的文件
24+
25+
## SDK示例-JAVA
26+
27+
```java
28+
// build store client
29+
// EXAMPLE_ACCOUNT is your account id
30+
// EXAMPLE_PRIVATE_KEY is your account private key
31+
// EXAMPLE_PUBLIC_KEY is your account public key
32+
// * Attention: Your EXAMPLE_PRIVATE_KEY and EXAMPLE_PUBLIC_KEY can not be uploaded.
33+
StoreClient client = new StoreClient(EXAMPLE_ACCOUNT, EXAMPLE_PRIVATE_KEY, EXAMPLE_PUBLIC_KEY, false);
34+
// byte[]
35+
byte[] result = client.getRawBytes(CID);
36+
// String
37+
String str = client.getRawString(CID);
38+
// File
39+
String file = client.downloadFile(CID,TARGET_FILE); // TARGET_FILE is java.io.File.
40+
```
41+
42+
## 错误情况
43+
44+
| code | msg | 描述 |
45+
| --- | --- | --- |
46+
| 401 | NO\_EXIT | 不存在 |
47+
48+
49+

0 commit comments

Comments
 (0)