前些天在VPS上编译了bitshares,然后将编译后的程序复制到本地电脑执行进行同步,这个帖子是上个帖子的一些跟进。
关于配置
在上个帖子中,我曾提及,编译好的程序执行时默认开启了好多插件,有些是我不需要的,有些则是我根本不了解的,所以和以前一样,我只开通最基本的插件。
所以对witness_node_data_dir的config.ini做如下修改:
#plugins = witness account_history market_history grouped_orders api_helper_indexes custom_operations
plugins = witness api_helper_indexes
这里说一下,数据目录是可以通过命令行参数指定的,为了方便我还是直接使用默认参数:
-d [ --data-dir ] arg (="witness_node_data_dir")
同时在config.ini指定在8099端口开启节点 API 服务:
rpc-endpoint = 127.0.0.1:8099
关于同步
进行如上设置后,就可以通过运行如下指令重播已同步区块并同步新区块:
witness_node --replay-blockchain
因为之前也没同步多少数据,所以replay很快完成,并进入到同步过程中。原本以为在家里的网络里同步会是非常漫长的过程,结果大概没用上半天就同步完成了,真让人开心呢。
看了一下空间占用:
Reveal spoiler
只占用了85G,三年前这个数值是11G,相比hive的300多G以及EOS的2T多数据,85G真的非常小,说明bitshares的网络上还是干货比较多。
API使用
节点弄好后,就是测试一下API的使用啦。
首先来测试一下,获取区块:
curl -s --data '{"jsonrpc": "2.0", "method": "call", "params": ["database", "get_block", [1000]], "id": 1}' http://127.0.0.1:8099
返回信息如下:
Reveal spoiler
再来测试一下获取用户信息:
curl -s --data '{"jsonrpc": "2.0", "method": "call", "params": ["database", "get_account_by_name", ["oflyhigh"]], "id": 1}' http://127.0.0.1:8099
返回信息如下:
Reveal spoiler
什么,竟然没有显示我的余额?好吧,其实余额可以用另外的API获取,比如说get_account_balances
或者get_full_accounts
等等,这里就不再赘述啦。
世界属于码农……