mirror of
https://gitee.com/BDWare/bdcontract-doc
synced 2025-01-25 01:04:20 +00:00
prune structure
This commit is contained in:
parent
827c401149
commit
e4f9be64fa
23
README.md
23
README.md
@ -1,4 +1,5 @@
|
|||||||
# 环境依赖安装:
|
# 环境配置
|
||||||
|
## 环境依赖安装
|
||||||
```bash
|
```bash
|
||||||
#视情况使用pip/pip3
|
#视情况使用pip/pip3
|
||||||
pip install sphinx
|
pip install sphinx
|
||||||
@ -8,26 +9,19 @@ pip install sphinx_markdown_tables
|
|||||||
pip install sphinx-multiversion
|
pip install sphinx-multiversion
|
||||||
```
|
```
|
||||||
|
|
||||||
# 建立软链接
|
|
||||||
```
|
|
||||||
ln -s absolutepath/markdown/ ./soruce/_static
|
|
||||||
```
|
|
||||||
|
|
||||||
# 更新版本
|
# 更新版本
|
||||||
```
|
```
|
||||||
git tag -a v${version} -m "message"
|
git tag -a v${version} -m "message"
|
||||||
```
|
```
|
||||||
|
# 将TAG推送到服务端
|
||||||
|
```
|
||||||
|
git push --tags
|
||||||
|
```
|
||||||
# 配置文件说明
|
# 配置文件说明
|
||||||
|
|
||||||
./source/index.rst
|
./source/index.rst
|
||||||
./source/conf.py
|
./source/conf.py
|
||||||
|
|
||||||
# 编写文档
|
# 编写文档
|
||||||
|
前往markdown/markdown_BDWare目录,修改xxx.md文件。
|
||||||
前往source/markdown目录,修改xxx.md文件。
|
|
||||||
|
|
||||||
## 转换成rst,并生成html。
|
## 转换成rst,并生成html。
|
||||||
|
|
||||||
@ -43,9 +37,6 @@ sh toRst.sh
|
|||||||
make latex
|
make latex
|
||||||
make latexPdf
|
make latexPdf
|
||||||
```
|
```
|
||||||
##
|
|
||||||
|
|
||||||
|
|
||||||
# MarkDownTips
|
# MarkDownTips
|
||||||
|
|
||||||
1)学习markdown:https://www.runoob.com/markdown/md-tutorial.html
|
1)学习markdown:https://www.runoob.com/markdown/md-tutorial.html
|
||||||
|
@ -11,13 +11,12 @@ BDContract是一个可信计算框架,计算逻辑以智能合约的方式表
|
|||||||
|
|
||||||
## 特点
|
## 特点
|
||||||
|
|
||||||
0. 支持多种执行模式,权衡可用性、可靠性、正确性和效率。
|
1. 支持多种执行模式,权衡可用性、可靠性、正确性和效率。
|
||||||
1. 接入各种数据源。
|
2. 接入各种数据源。
|
||||||
2. 支持合约的细粒度监测。
|
3. 支持合约的细粒度监测。
|
||||||
3. 支持合约的状态。
|
4. 支持合约的状态。
|
||||||
4. 访问控制。
|
5. 访问控制。
|
||||||
5. 支撑跨语言调用。
|
6. 支撑跨语言调用。
|
||||||
|
|
||||||
|
|
||||||
- - -
|
- - -
|
||||||
|
|
@ -3,16 +3,16 @@
|
|||||||
You can adapt this file completely to your liking, but it should at least
|
You can adapt this file completely to your liking, but it should at least
|
||||||
contain the root `toctree` directive.
|
contain the root `toctree` directive.
|
||||||
|
|
||||||
智融云河大数据区块链-智能合约引擎 文档
|
北大数瑞-BDContract 文档
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 3
|
:maxdepth: 3
|
||||||
:caption: 目录
|
:caption: 目录
|
||||||
|
|
||||||
Introduction.rst
|
1_Introduction.rst
|
||||||
InstallTips.rst
|
2_InstallTips.rst
|
||||||
IDEUsage.rst
|
3_IDEUsage.rst
|
||||||
ContractAPI.rst
|
4_ContractAPI.rst
|
||||||
YJSInDepth.rst
|
5_YJSInDepth.rst
|
||||||
YJSAPI.rst
|
6_YJSAPI.rst
|
@ -13,12 +13,12 @@ BDContract是一个可信计算框架,计算逻辑以智能合约的方式表
|
|||||||
特点
|
特点
|
||||||
----
|
----
|
||||||
|
|
||||||
0. 支持多种执行模式,权衡可用性、可靠性、正确性和效率。
|
1. 支持多种执行模式,权衡可用性、可靠性、正确性和效率。
|
||||||
1. 接入各种数据源。
|
2. 接入各种数据源。
|
||||||
2. 支持合约的细粒度监测。
|
3. 支持合约的细粒度监测。
|
||||||
3. 支持合约的状态。
|
4. 支持合约的状态。
|
||||||
4. 访问控制。
|
5. 访问控制。
|
||||||
5. 支撑跨语言调用。
|
6. 支撑跨语言调用。
|
||||||
|
|
||||||
--------------
|
--------------
|
||||||
|
|
608
source/httpapi.rst
Normal file
608
source/httpapi.rst
Normal file
@ -0,0 +1,608 @@
|
|||||||
|
.. code:: yaml
|
||||||
|
|
||||||
|
type: google.api.Service
|
||||||
|
config_version: 3
|
||||||
|
|
||||||
|
http:
|
||||||
|
rules:
|
||||||
|
- selector: bdware.bdledger.api.Node.ClientVersion
|
||||||
|
get: /v0/node/version
|
||||||
|
- selector: bdware.bdledger.api.Ledger.CreateLedger
|
||||||
|
post: /v0/ledgers
|
||||||
|
body: "*"
|
||||||
|
- selector: bdware.bdledger.api.Ledger.GetLedgers
|
||||||
|
get: /v0/ledgers
|
||||||
|
- selector: bdware.bdledger.api.Ledger.SendTransaction
|
||||||
|
post: /v0/ledgers/{ledger}/transactions
|
||||||
|
body: "*"
|
||||||
|
- selector: bdware.bdledger.api.Query.GetBlockByHash
|
||||||
|
get: /v0/ledgers/{ledger}/block
|
||||||
|
- selector: bdware.bdledger.api.Query.GetBlocks
|
||||||
|
post: /v0/ledgers/{ledger}/blocks/query
|
||||||
|
body: "*"
|
||||||
|
- selector: bdware.bdledger.api.Query.CountBlocks
|
||||||
|
post: /v0/ledgers/{ledger}/blocks/count
|
||||||
|
body: "*"
|
||||||
|
- selector: bdware.bdledger.api.Query.GetRecentBlocks
|
||||||
|
get: /v0/ledgers/{ledger}/blocks/recent
|
||||||
|
- selector: bdware.bdledger.api.Query.GetTransactionByHash
|
||||||
|
get: /v0/ledgers/{ledger}/transaction
|
||||||
|
- selector: bdware.bdledger.api.Query.GetTransactionByBlockHashAndIndex
|
||||||
|
get: /v0/ledgers/{ledger}/block/transaction
|
||||||
|
- selector: bdware.bdledger.api.Query.GetTransactions
|
||||||
|
post: /v0/ledgers/{ledger}/transactions/query
|
||||||
|
body: "*"
|
||||||
|
- selector: bdware.bdledger.api.Query.CountTransactions
|
||||||
|
post: /v0/ledgers/{ledger}/transactions/count
|
||||||
|
body: "*"
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
**Note**
|
||||||
|
|
||||||
|
Request/Response data of **bytes** type should/will be encoded with
|
||||||
|
`Base64 <https://tools.ietf.org/html/rfc4648#section-4>`__.
|
||||||
|
|
||||||
|
**Note**
|
||||||
|
|
||||||
|
When using hash strings in URL, they need to be encoded with
|
||||||
|
`encodeURIComponent <https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent>`__.
|
||||||
|
|
||||||
|
Request Examples {#_request_examples} ================
|
||||||
|
|
||||||
|
Node.ClientVersion {#_node_clientversion} ——————
|
||||||
|
|
||||||
|
Get BDLedger node version
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
GET http://{{IP}}:{{PORT}}/v0/node/version
|
||||||
|
|
||||||
|
**Response.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"version": "dev-210119.a88bf4eb"
|
||||||
|
}
|
||||||
|
|
||||||
|
Ledger.CreateLedger {#_ledger_createledger} ——————-
|
||||||
|
|
||||||
|
Create a new ledger
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
POST http://{{IP}}:{{PORT}}/v0/ledgers
|
||||||
|
|
||||||
|
**Request body.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"name": "test"
|
||||||
|
}
|
||||||
|
|
||||||
|
**Response.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"ok": true
|
||||||
|
}
|
||||||
|
|
||||||
|
Ledger.GetLedgers {#_ledger_getledgers} —————–
|
||||||
|
|
||||||
|
Get all ledgers
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
GET http://{{IP}}:{{PORT}}/v0/ledgers
|
||||||
|
|
||||||
|
**Response.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"ledgers": [
|
||||||
|
"default",
|
||||||
|
"test"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
Ledger.SendTransaction {#_ledger_sendtransaction} ———————-
|
||||||
|
|
||||||
|
Send a new transaction
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
POST http://{{IP}}:{{PORT}}/v0/ledgers/test/transactions
|
||||||
|
|
||||||
|
**Request body.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"transaction": {
|
||||||
|
"type": 0,
|
||||||
|
"from": "8A3K/vANyv7wDcr+8A3K/vANyv4=",
|
||||||
|
"nonce": 52,
|
||||||
|
"data": "lQItWZKS5hlUn6V/DMKKwvZXxvM="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
**Response.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"hash": "VQBeA5Ee0Y5hqEileoQuYMHbOSE="
|
||||||
|
}
|
||||||
|
|
||||||
|
Query.GetBlockByHash {#_query_getblockbyhash} ——————–
|
||||||
|
|
||||||
|
Get a block identified by its hash
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
GET http://{{IP}}:{{PORT}}/v0/ledgers/test/block?hash=LSKr%2BK079Ax%2BrKdlyYN5ze2YGzo%3D
|
||||||
|
|
||||||
|
**hash** has to be encoded with
|
||||||
|
`encodeURIComponent <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent>`__
|
||||||
|
|
||||||
|
**Response.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"block": {
|
||||||
|
"hash": "LSKr+K079Ax+rKdlyYN5ze2YGzo=",
|
||||||
|
"creator": "",
|
||||||
|
"nonce": "0",
|
||||||
|
"parentHashes": [
|
||||||
|
"fLX5pMY8M1qSAGZdKT1rWBkdEMo=",
|
||||||
|
"rk0DWMaUpRG82yVX+cFhbfhPFdw=",
|
||||||
|
"3XkwkuMBearq8uavN76Te7Zdpl8="
|
||||||
|
],
|
||||||
|
"witnesses": [],
|
||||||
|
"timestamp": "1611038043",
|
||||||
|
"size": "0",
|
||||||
|
"transactionCount": 1,
|
||||||
|
"transactionsRoot": "VQBeA5Ee0Y5hqEileoQuYMHbOSE=",
|
||||||
|
"transactions": [
|
||||||
|
{
|
||||||
|
"blockHash": "",
|
||||||
|
"blockTimestamp": "0",
|
||||||
|
"index": 0,
|
||||||
|
"hash": "VQBeA5Ee0Y5hqEileoQuYMHbOSE=",
|
||||||
|
"type": "RECORD",
|
||||||
|
"from": "8A3K/vANyv7wDcr+8A3K/vANyv4=",
|
||||||
|
"nonce": "0",
|
||||||
|
"to": "AAAAAAAAAAAAAAAAAAAAAAAAAAA=",
|
||||||
|
"data": "lQItWZKS5hlUn6V/DMKKwvZXxvM="
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"transactionHashes": [
|
||||||
|
"VQBeA5Ee0Y5hqEileoQuYMHbOSE="
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Query.GetBlocks {#_query_getblocks} —————
|
||||||
|
|
||||||
|
Get blocks in a timestamp range
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
POST http://{{IP}}:{{PORT}}/v0/ledgers/test/blocks/query
|
||||||
|
|
||||||
|
.. code:: protobuf
|
||||||
|
|
||||||
|
enum IncludeTransactions {
|
||||||
|
NONE = 0; // Don't include transaction data
|
||||||
|
HASH = 1; // Include transactions hashes
|
||||||
|
FULL = 2; // Include full transactions
|
||||||
|
}
|
||||||
|
|
||||||
|
Requirement: asciimath:["start_timestamp"⇐"end_timestamp"]
|
||||||
|
|
||||||
|
If only **end_timestamp** is not specified, or
|
||||||
|
asciimath:["end_timestamp"-"start_timestamp">"query.maxDuration"], then
|
||||||
|
**end_timestamp** will be set to
|
||||||
|
asciimath:["start_timestamp"+"query.maxDuration"].
|
||||||
|
|
||||||
|
If only **start_timestamp** is not specified, then **start_timestamp**
|
||||||
|
will be set to asciimath:["end_timestamp"-"query.maxDuration"].
|
||||||
|
|
||||||
|
In all cases, **start_timestamp** will never be earlier than the genesis
|
||||||
|
block’s timestamp, and **end_timestamp** will never be later than the
|
||||||
|
current timestamp when the node process the query request.
|
||||||
|
|
||||||
|
**Request body 1.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"start_timestamp": 1611038000,
|
||||||
|
"end_timestamp": 1611039000,
|
||||||
|
"include_transactions": 0
|
||||||
|
}
|
||||||
|
|
||||||
|
**Response 1.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"blocks": [
|
||||||
|
{
|
||||||
|
"hash": "LSKr+K079Ax+rKdlyYN5ze2YGzo=",
|
||||||
|
"creator": "",
|
||||||
|
"nonce": "0",
|
||||||
|
"parentHashes": [
|
||||||
|
"fLX5pMY8M1qSAGZdKT1rWBkdEMo=",
|
||||||
|
"rk0DWMaUpRG82yVX+cFhbfhPFdw=",
|
||||||
|
"3XkwkuMBearq8uavN76Te7Zdpl8="
|
||||||
|
],
|
||||||
|
"witnesses": [],
|
||||||
|
"timestamp": "1611038043",
|
||||||
|
"size": "0",
|
||||||
|
"transactionCount": 1,
|
||||||
|
"transactionsRoot": "VQBeA5Ee0Y5hqEileoQuYMHbOSE=",
|
||||||
|
"transactions": [],
|
||||||
|
"transactionHashes": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"startTimestamp": "1611038043",
|
||||||
|
"endTimestamp": "1611038043"
|
||||||
|
}
|
||||||
|
|
||||||
|
**Request body 2.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"start_timestamp": 1611038000,
|
||||||
|
"end_timestamp": 1611039000,
|
||||||
|
"include_transactions": 1
|
||||||
|
}
|
||||||
|
|
||||||
|
**Response 2.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"blocks": [
|
||||||
|
{
|
||||||
|
"hash": "LSKr+K079Ax+rKdlyYN5ze2YGzo=",
|
||||||
|
"creator": "",
|
||||||
|
"nonce": "0",
|
||||||
|
"parentHashes": [
|
||||||
|
"fLX5pMY8M1qSAGZdKT1rWBkdEMo=",
|
||||||
|
"rk0DWMaUpRG82yVX+cFhbfhPFdw=",
|
||||||
|
"3XkwkuMBearq8uavN76Te7Zdpl8="
|
||||||
|
],
|
||||||
|
"witnesses": [],
|
||||||
|
"timestamp": "1611038043",
|
||||||
|
"size": "0",
|
||||||
|
"transactionCount": 1,
|
||||||
|
"transactionsRoot": "VQBeA5Ee0Y5hqEileoQuYMHbOSE=",
|
||||||
|
"transactions": [],
|
||||||
|
"transactionHashes": [
|
||||||
|
"VQBeA5Ee0Y5hqEileoQuYMHbOSE="
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"startTimestamp": "1611038043",
|
||||||
|
"endTimestamp": "1611038043"
|
||||||
|
}
|
||||||
|
|
||||||
|
**Request body 3.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"start_timestamp": 1611038000,
|
||||||
|
"end_timestamp": 1611039000,
|
||||||
|
"include_transactions": 2
|
||||||
|
}
|
||||||
|
|
||||||
|
**Response 3.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"blocks": [
|
||||||
|
{
|
||||||
|
"hash": "LSKr+K079Ax+rKdlyYN5ze2YGzo=",
|
||||||
|
"creator": "",
|
||||||
|
"nonce": "0",
|
||||||
|
"parentHashes": [
|
||||||
|
"fLX5pMY8M1qSAGZdKT1rWBkdEMo=",
|
||||||
|
"rk0DWMaUpRG82yVX+cFhbfhPFdw=",
|
||||||
|
"3XkwkuMBearq8uavN76Te7Zdpl8="
|
||||||
|
],
|
||||||
|
"witnesses": [],
|
||||||
|
"timestamp": "1611038043",
|
||||||
|
"size": "0",
|
||||||
|
"transactionCount": 1,
|
||||||
|
"transactionsRoot": "VQBeA5Ee0Y5hqEileoQuYMHbOSE=",
|
||||||
|
"transactions": [
|
||||||
|
{
|
||||||
|
"blockHash": "",
|
||||||
|
"blockTimestamp": "0",
|
||||||
|
"index": 0,
|
||||||
|
"hash": "VQBeA5Ee0Y5hqEileoQuYMHbOSE=",
|
||||||
|
"type": "RECORD",
|
||||||
|
"from": "8A3K/vANyv7wDcr+8A3K/vANyv4=",
|
||||||
|
"nonce": "0",
|
||||||
|
"to": "AAAAAAAAAAAAAAAAAAAAAAAAAAA=",
|
||||||
|
"data": "lQItWZKS5hlUn6V/DMKKwvZXxvM="
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"transactionHashes": [
|
||||||
|
"VQBeA5Ee0Y5hqEileoQuYMHbOSE="
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"startTimestamp": "1611038043",
|
||||||
|
"endTimestamp": "1611038043"
|
||||||
|
}
|
||||||
|
|
||||||
|
Query.CountBlocks {#_query_countblocks} —————–
|
||||||
|
|
||||||
|
Count all blocks in a ledger, or blocks in a timestamp range
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
POST http://{{IP}}:{{PORT}}/v0/ledgers/test/blocks/count
|
||||||
|
|
||||||
|
Requirement: asciimath:["start_timestamp"⇐"end_timestamp"]
|
||||||
|
|
||||||
|
If neither **start_timestamp** nor **end_timestamp** is specified, then
|
||||||
|
count all blocks in the specified ledger.
|
||||||
|
|
||||||
|
If only **end_timestamp** is not specified, then count all blocks with
|
||||||
|
timestamps later than **start_timestamp**.
|
||||||
|
|
||||||
|
If only **start_timestamp** is not specified, then count all blocks with
|
||||||
|
timestamps earlier than **end_timestamp**.
|
||||||
|
|
||||||
|
In all cases, **start_timestamp** will never be earlier than the genesis
|
||||||
|
block’s timestamp, and **end_timestamp** will never be later than the
|
||||||
|
current timestamp when the node process the query request.
|
||||||
|
|
||||||
|
**Request body 1.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{}
|
||||||
|
|
||||||
|
**Response 1.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"count": "5",
|
||||||
|
"startTimestamp": "0",
|
||||||
|
"endTimestamp": "1611039957"
|
||||||
|
}
|
||||||
|
|
||||||
|
**Request body 2.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"start_timestamp": 1611038000,
|
||||||
|
"end_timestamp": 1611039000
|
||||||
|
}
|
||||||
|
|
||||||
|
**Response 2.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"count": "1",
|
||||||
|
"startTimestamp": "1611038000",
|
||||||
|
"endTimestamp": "1611039000"
|
||||||
|
}
|
||||||
|
|
||||||
|
Query.GetRecentBlocks {#_query_getrecentblocks} ———————
|
||||||
|
|
||||||
|
Get recent **count** blocks (Only support IncludeTransactions=NONE for
|
||||||
|
now)
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
GET http://{{IP}}:{{PORT}}/v0/ledgers/test/blocks/recent?count=2
|
||||||
|
|
||||||
|
**Response.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"blocks": [
|
||||||
|
{
|
||||||
|
"hash": "LSKr+K079Ax+rKdlyYN5ze2YGzo=",
|
||||||
|
"creator": "",
|
||||||
|
"nonce": "0",
|
||||||
|
"parentHashes": [
|
||||||
|
"fLX5pMY8M1qSAGZdKT1rWBkdEMo=",
|
||||||
|
"rk0DWMaUpRG82yVX+cFhbfhPFdw=",
|
||||||
|
"3XkwkuMBearq8uavN76Te7Zdpl8="
|
||||||
|
],
|
||||||
|
"witnesses": [],
|
||||||
|
"timestamp": "1611038043",
|
||||||
|
"size": "0",
|
||||||
|
"transactionCount": 1,
|
||||||
|
"transactionsRoot": "VQBeA5Ee0Y5hqEileoQuYMHbOSE=",
|
||||||
|
"transactions": [],
|
||||||
|
"transactionHashes": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hash": "rk0DWMaUpRG82yVX+cFhbfhPFdw=",
|
||||||
|
"creator": "",
|
||||||
|
"nonce": "0",
|
||||||
|
"parentHashes": [
|
||||||
|
"fLX5pMY8M1qSAGZdKT1rWBkdEMo=",
|
||||||
|
"3XkwkuMBearq8uavN76Te7Zdpl8=",
|
||||||
|
"8pZPR74OALIbps5XFb4dL/s0j0M="
|
||||||
|
],
|
||||||
|
"witnesses": [],
|
||||||
|
"timestamp": "1610968019",
|
||||||
|
"size": "0",
|
||||||
|
"transactionCount": 1,
|
||||||
|
"transactionsRoot": "LuxttCm/pSHVMOKF0sJExk+DJXc=",
|
||||||
|
"transactions": [],
|
||||||
|
"transactionHashes": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"startTimestamp": "1610968019",
|
||||||
|
"endTimestamp": "1611038043"
|
||||||
|
}
|
||||||
|
|
||||||
|
Query.GetTransactionByHash {#_query_gettransactionbyhash} ————————–
|
||||||
|
|
||||||
|
Get a transaction identified by its hash
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
GET http://{{IP}}:{{PORT}}/v0/ledgers/test/transaction?hash=VQBeA5Ee0Y5hqEileoQuYMHbOSE%3D
|
||||||
|
|
||||||
|
**hash** has to be encoded with
|
||||||
|
`encodeURIComponent <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent>`__
|
||||||
|
|
||||||
|
**Response.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"transaction": {
|
||||||
|
"blockHash": "LSKr+K079Ax+rKdlyYN5ze2YGzo=",
|
||||||
|
"blockTimestamp": "1611038043",
|
||||||
|
"index": 0,
|
||||||
|
"hash": "VQBeA5Ee0Y5hqEileoQuYMHbOSE=",
|
||||||
|
"type": "RECORD",
|
||||||
|
"from": "8A3K/vANyv7wDcr+8A3K/vANyv4=",
|
||||||
|
"nonce": "0",
|
||||||
|
"to": "AAAAAAAAAAAAAAAAAAAAAAAAAAA=",
|
||||||
|
"data": "lQItWZKS5hlUn6V/DMKKwvZXxvM="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Query.GetTransactionByBlockHashAndIndex
|
||||||
|
{#_query_gettransactionbyblockhashandindex} —————————————
|
||||||
|
|
||||||
|
Get a transaction identified by hash of the block it belongs to and its
|
||||||
|
index inside the block
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
GET http://{{IP}}:{{PORT}}/v0/ledgers/test/block/transaction?blockHash=LSKr%2BK079Ax%2BrKdlyYN5ze2YGzo%3D&index=0
|
||||||
|
|
||||||
|
**blockHash** has to be encoded with
|
||||||
|
`encodeURIComponent <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent>`__
|
||||||
|
|
||||||
|
**Response.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"transaction": {
|
||||||
|
"blockHash": "LSKr+K079Ax+rKdlyYN5ze2YGzo=",
|
||||||
|
"blockTimestamp": "1611038043",
|
||||||
|
"index": 0,
|
||||||
|
"hash": "VQBeA5Ee0Y5hqEileoQuYMHbOSE=",
|
||||||
|
"type": "RECORD",
|
||||||
|
"from": "8A3K/vANyv7wDcr+8A3K/vANyv4=",
|
||||||
|
"nonce": "0",
|
||||||
|
"to": "AAAAAAAAAAAAAAAAAAAAAAAAAAA=",
|
||||||
|
"data": "lQItWZKS5hlUn6V/DMKKwvZXxvM="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Query.GetTransactions {#_query_gettransactions} ———————
|
||||||
|
|
||||||
|
Get transactions in a timestamp range
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
POST http://{{IP}}:{{PORT}}/v0/ledgers/test/transactions/query
|
||||||
|
|
||||||
|
**start_timestamp** and **end_timestamp** follow the same requirements
|
||||||
|
and rules as in `??? <#Query.GetBlocks>`__.
|
||||||
|
|
||||||
|
**Request body.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"start_timestamp": 1611038000,
|
||||||
|
"end_timestamp": 1611039000
|
||||||
|
}
|
||||||
|
|
||||||
|
**Response.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"transactions": [
|
||||||
|
{
|
||||||
|
"blockHash": "",
|
||||||
|
"blockTimestamp": "0",
|
||||||
|
"index": 0,
|
||||||
|
"hash": "VQBeA5Ee0Y5hqEileoQuYMHbOSE=",
|
||||||
|
"type": "RECORD",
|
||||||
|
"from": "8A3K/vANyv7wDcr+8A3K/vANyv4=",
|
||||||
|
"nonce": "0",
|
||||||
|
"to": "AAAAAAAAAAAAAAAAAAAAAAAAAAA=",
|
||||||
|
"data": "lQItWZKS5hlUn6V/DMKKwvZXxvM="
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"startTimestamp": "1611038043",
|
||||||
|
"endTimestamp": "1611038043"
|
||||||
|
}
|
||||||
|
|
||||||
|
Query.CountTransactions {#_query_counttransactions} ———————–
|
||||||
|
|
||||||
|
Count all transactions in a ledger, or transactions in a timestamp range
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
POST http://{{IP}}:{{PORT}}/v0/ledgers/test/transactions/count
|
||||||
|
|
||||||
|
**start_timestamp** and **end_timestamp** follow the same requirements
|
||||||
|
and rules as in `??? <#Query.CountBlocks>`__.
|
||||||
|
|
||||||
|
**Request body 1.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{}
|
||||||
|
|
||||||
|
**Response 1.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"count": "4",
|
||||||
|
"startTimestamp": "0",
|
||||||
|
"endTimestamp": "1611039957"
|
||||||
|
}
|
||||||
|
|
||||||
|
**Request body 2.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"start_timestamp": 1611038000,
|
||||||
|
"end_timestamp": 1611039000
|
||||||
|
}
|
||||||
|
|
||||||
|
**Response 2.**
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
{
|
||||||
|
"count": "1",
|
||||||
|
"startTimestamp": "1611038000",
|
||||||
|
"endTimestamp": "1611039000"
|
||||||
|
}
|
@ -3,16 +3,16 @@
|
|||||||
You can adapt this file completely to your liking, but it should at least
|
You can adapt this file completely to your liking, but it should at least
|
||||||
contain the root `toctree` directive.
|
contain the root `toctree` directive.
|
||||||
|
|
||||||
智融云河大数据区块链-智能合约引擎 文档
|
北大数瑞-BDContract 文档
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 3
|
:maxdepth: 3
|
||||||
:caption: 目录
|
:caption: 目录
|
||||||
|
|
||||||
Introduction.rst
|
1_Introduction.rst
|
||||||
InstallTips.rst
|
2_InstallTips.rst
|
||||||
IDEUsage.rst
|
3_IDEUsage.rst
|
||||||
ContractAPI.rst
|
4_ContractAPI.rst
|
||||||
YJSInDepth.rst
|
5_YJSInDepth.rst
|
||||||
YJSAPI.rst
|
6_YJSAPI.rst
|
15
toRst.sh
15
toRst.sh
@ -23,12 +23,15 @@ cp ${src}/conf.py ./conf.py
|
|||||||
cp ${src}/index.rst ./index.rst
|
cp ${src}/index.rst ./index.rst
|
||||||
cp -r ${src}/_static ./_static
|
cp -r ${src}/_static ./_static
|
||||||
|
|
||||||
pandoc ${src}/ContractAPI.md -f markdown -t rst -o ContractAPI.rst
|
for f in `ls ${src} | grep .md ` ; do
|
||||||
pandoc ${src}/IDEUsage.md -f markdown -t rst -o IDEUsage.rst
|
echo "convert $f --> ${f/.md/.rst}"
|
||||||
pandoc ${src}/InstallTips.md -f markdown -t rst -o InstallTips.rst
|
pandoc ${src}/$f -f markdown -t rst -o ${f/.md/.rst}
|
||||||
pandoc ${src}/Introduction.md -f markdown -t rst -o Introduction.rst
|
done
|
||||||
pandoc ${src}/YJSAPI.md -f markdown -t rst -o YJSAPI.rst
|
#pandoc ${src}/IDEUsage.md -f markdown -t rst -o IDEUsage.rst
|
||||||
pandoc ${src}/YJSInDepth.md -f markdown -t rst -o YJSInDepth.rst
|
#pandoc ${src}/InstallTips.md -f markdown -t rst -o InstallTips.rst
|
||||||
|
#pandoc ${src}/Introduction.md -f markdown -t rst -o Introduction.rst
|
||||||
|
#pandoc ${src}/YJSAPI.md -f markdown -t rst -o YJSAPI.rst
|
||||||
|
#pandoc ${src}/YJSInDepth.md -f markdown -t rst -o YJSInDepth.rst
|
||||||
cd ..
|
cd ..
|
||||||
make clean
|
make clean
|
||||||
#make html
|
#make html
|
||||||
|
Loading…
Reference in New Issue
Block a user