jsonrpc

利用Aria2构造自己的下载工具(一)

放肆的年华 提交于 2020-05-04 10:46:44
Aria2 是一款轻量级的跨平台的多线程下载工具,支持 Http/Https、Ftp、BitTorrent、Metalink 等主流协议,功能非常全面。和IDM或EagleGet这些下载工具相比,aria2是一款纯命令行工具,没有图形界面,但可以通过rpc的方式提供交互式下载,这个是它的一个缺点,同时也是它的一个优点。它没有图形界面,使得可以在远程服务器、路由器、nas等平台上运行它,通过rpc交互的方式,实现离线下载。 虽然上现在已经有webui-aria2, 以及 yaaw等一些第三方的比较成熟的界面工具。但了解一下其交互协议,实现一个更加灵活,更适合自己的功能强大的下载工具,对于程序员来说,还是一个比较指的折腾的的事情。 配置Aria2 在启动Aria2前,我们需要进行一些参数的配置,这些配置有两种方式,通过命令行或配置文件。当默认的配置较多的时候,通过命令行的方式显得冗繁和不直观,我们一般是通过配置文件的方式,这里是一个配置文件示例: # # '#'开头为注释内容, 选项都有相应的注释说明, 根据需要修改 ## # # 被注释的选项填写的是默认值, 建议在需要修改时再取消注释 ## # # 文件保存相关 ## # 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置 dir= R:\Downloads # 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本,

[转]bitcoin API reference (JSON-RPC)

泪湿孤枕 提交于 2020-04-29 04:31:46
本文转自: https://en.bitcoin.it/wiki/API_reference_%28JSON-RPC%29#Node.js API reference (JSON-RPC) Contents [ hide ] 1 Controlling Bitcoin 2 JSON-RPC 3 Proper money handling 4 Languages 4.1 Python 4.2 Ruby 4.3 Erlang 4.4 PHP 4.5 Java 4.6 Perl 4.7 Go 4.8 .NET (C#) 4.9 Node.js 4.10 Command line (cURL) 4.11 Clojure 4.12 C 4.13 Qt/C++ 5 Multi-wallet RPC calls 6 See Also Controlling Bitcoin Run bitcoind or bitcoin-qt -server . You can control it via the command-line bitcoin-cli utility or by HTTP JSON-RPC commands. You must create a bitcoin.conf configuration file setting an rpcuser and rpcpassword;

【转载】bitcoin全节点部署及bitcoind bitcoin-cli命令使用解释

烂漫一生 提交于 2020-04-28 15:35:09
服务器配置: 操作系统: ubuntu 16.04 CPU: 4U 内存: 16G #一般来说4G就够,但如果要查历史记录,需要加载完整的交易索引表-tindex,这导致需要8G+的内存 硬盘: 500G #比特币从08年开始运行,已经积累了大量数据,区块链内容大小达210G。 带宽: 10MB+ 安装部署: 下载地址: https://bitcoincore.org/en/download/ root@wallet-test1:/data # tar xf bitcoin-0.17.1-x86_64-linux-gnu.tar.gz root@wallet-test1:/data # ln -s bitcoin-0.17.1 bitcoin #用软链接的方式在升级程序时,可不用重新设置环境变量 root@wallet-test1: /data# mkdir -p coin/btccoin/ #数据存储目录 root@wallet-test1:/data # vim /etc/profile.d/bitcoin.sh #添加环境变量 export PATH=/data/bitcoin/bin:$PATH root@wallet-test1:/data # source /etc/profile.d/bitcoin.sh #加载环境变量 配置文件: -conf=<file>

企业以太坊Besu入门教程【原Pantheon】

此生再无相见时 提交于 2020-02-27 12:20:38
Besu是Hyperledger中的企业以太坊产品,其最大优势在于兼容以太坊主网。本教程介绍如何使用Hyperledger Besu快速启动一个企业以太坊网络并利用JSON RPC进行数据查询和交易提交,以及如何使用Truffle开发企业以太坊DApp并使用内置的工具进行数据调试和运维监控。 1、启动企业以太坊网络 以太坊教程推荐: Dapp入门 | 电商Dapp实战 | Token实战 | Php对接 | Java对接 | Python对接 | C#对接 | Dart对接 首先克隆Besu的quickstart仓库的源代码: git clone https://github.com/PegaSysEng/besu-quickstart.git 然后进入besu-quickstart目录,执行如下命令构建besu的docker镜像: ./run.sh 上面的命令会构建docker镜像并启动4个容器来模拟一个包含6个besu节点的企业以太坊网络。当脚本执行完成后,你可以看到如下输出信息: ************************************* Besu Quickstart <version> ************************************* List endpoints and services --------------------

pyls 配置

若如初见. 提交于 2020-02-26 15:54:22
设置代码行为 120 字 ~/.config/pycodestyle pycodestyle 官方文档 https://www.osgeo.cn/pycodestyle/intro.html 在项目级别,a setup.cfg 文件或 tox.ini 如果存在,则读取文件。如果这些文件都没有 [pycodestyle] 节,未加载项目特定的配置。 [pycodestyle] # count = False # ignore = E226,E302,E41 max-line-length = 120 # statistics = True pyls 的main #!/opt/miniconda3/bin/python # -*- coding: utf-8 -*- import re import sys from pyls.__main__ import main if __name__ == '__main__': sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) sys.exit(main()) python_ls.py 定义了 start_io_lang_server start_tcp_lang_server LINT_DEBOUNCE_S = 0.5 # 500 ms PARENT

B站直播:使用Golang重构,流量最大的推送功能

随声附和 提交于 2020-01-07 17:51:29
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1 悲剧直播推送功能 1.1 B站直播推送功能的困境 B站直播有个推送功能,就是这里,看到那个红色的数字没有,显示你关注的主播开播人数。 然后每个进入B站的用户,不管是不是直播的观众、不管进入B站哪个页面、不管你要干啥,都要请求一次这个人数接口,直播服务表示:妈逼,就给老子几台土豆服务器,却要扛着跟主站一样PV, 不仅仅是主站在使用这个功能,还有直播服务内部的各种推送心跳同样在使用这个功能,流量很大。 由于主站、直播对于UP主和主播关注是混在一起的,所以每次直播这边都要从一堆用户关注UP主中找到直播的主播,并且还要找到那个主播在直播,老的做法就是从缓存读各种数据,然后遍历,计算,然后输出,对缓存服务器、PHP服务器都造成了极大的压力,然后遇到大的活动,服务器分分钟都是:老子不想干了的节奏。然后大的活动每次都会把推送能关掉,来保证活动正常进行。 1.2 穷则思变的重构 你们以为大佬们一开始就同意我的Golang重构方案吗?你们啊 我苦口婆心的跟大佬们诉说我的方案是多么适合这个业务,然后我Golang技术有多好(无耻笑)、多靠谱,加上在弹幕服务器部门做了一段时间Golang的兼职(没错,是我舔着脸要去的),做了些大流量的功能,他们终于同意了,呵呵,是时候展示真正的技术了(请脑补小黄毛EZ配音)。 1.3

eosjs调用getactions

跟風遠走 提交于 2019-12-09 15:58:05
使用eosjs时,如何调用history模块的 get_actions 接口获取用户的历史交易动作? 如果要深入系统地学习Eos上的应用开发,推荐这个教程: Eos智能合约与Dapp开发入门 。 eosjs的封装与eos的rpc api接口并不是一一对应的,在eosjs中,与history模块的get_actions接口对应的方法被命名为 history_get_actions ,因此,调用方法如下: import {JsonRpc} from "eosjs" const rpc = new JsonRpc('http://127.0.0.1:8888') (async ()=>{ let ret = await rpc.history_get_actions('eosio') console.log(ret) })() 在上面的代码中,创建一个JsonRpc对象,然后调用其history_get_actions方法获取 eosio 账号的历史交易动作。需要指出的是,nodeos需要启用history模块,并且在配置文件中正确设置filter-on选项,例如,跟踪所有交易: filter-on=* 原文链接: eosjs调用getactions - 汇智网 来源: oschina 链接: https://my.oschina.net/u/3794778/blog/2992415

groovy实现JSONRPC

◇◆丶佛笑我妖孽 提交于 2019-12-07 17:45:50
介绍 groovy-jsonrpc JSONRPC的JAVA和GROOVY实现,能够将java类(包括groovy脚本)的公有静态方法通过jsonrpc2.0暴露出来。地址:https://github.com/wonder365/groovy-jsonrpc 。 JSONRPC2.0规范(中文版本):https://github.com/wonder365/groovy-jsonrpc/blob/master/gjsonrpc2/doc/www.jsonrpc.org/specification_cn.html 功能 完全实现JSONRPC2.0(参看测试用例) 支持动态加载groovy脚本 提供工具类:支持jsonrpc的groovyservlet(groovy.jsongrpc.tools.RpcServlet);提供基于netty的nio jsonrpc网络服务(支持java类和groovy脚本) 支持不需要groovy.jar的纯java版本,暴露java类方法给jsonrpc 支持params到标准函数参数的转换(转换 "params":[1,2] 供 方法“ int add(int a, int b)” 调用,非jsonrpc规范) groovy.jsongrpc.handler.UrlHandler 该类支持从指定groovy文件调用方法(所以调用时必须传入url)

比特币钱包RPC的PHP调用方法

一个人想着一个人 提交于 2019-12-05 22:30:34
当我们希望在Php开发的网站中加入比特币支付功能时,需要解决的第一个 问题,就是如何在Php程序代码中调用比特币钱包的RPC API开发接口来实现 我们期望的功能,例如比特币的支付与接收。 例如,当我们希望在Php代码中给某个比特币地址发送以太币时,可以使用 sendtoaddress 这个RPC接口,可以传入以下参数: ToAddress:接收地址 Amount:发送的比特币数量 Comment:备注文本 CommentTo:备注接收人 AutoFeeSubtract:是否自动扣除手续费,默认值:false 上面的参数中,只有 ToAddress 和 Amount 是必须的。当调用完成时, 将返回该笔交易对应的ID。 下面的代码使用 GuzzleHttp 来调用 sendtoaddress 接口向指定的地址发送 0.12个比特币: <?php require('../vendor/autoload.php'); use GuzzleHttp\Client; $client = new Client(); $opts = [ 'json' => [ 'jsonrpc' => '1.0', 'method' => 'sendtoaddress', 'params' => ['1LeiqzD6jCwPcdNNAPiT8ayKgdHJMP2EpZ',0.12], 'id' => time

php如何使用JSON-RPC查找以太坊中的最新块哈希hash值?

六月ゝ 毕业季﹏ 提交于 2019-11-30 23:50:32
我用PHP中开发了一个以太坊块资源管理器,并成功地与我的服务器Geth节点建立了JSON-RPC通信。然而,当我试图找出最后一个区块时,我陷入了困境。我在 https://ethereum.gitbooks.io/frontier-guide/content/rpc.html 中读到了很不错的内容,但是我没有任何方法去查询到以太坊节点的哪一个是最后一个块。一旦我得到了块哈希,我就可以有接口检索完整的信息块,但我不知道如何找到最新的块哈希。 API接口中 eth_blockNumber 应该返回最新的块号,但是如何得到哈希? 问题解答 user@Kumquat:~$ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest", false],"id":1}' localhost:8545 {"jsonrpc":"2.0","id":1,"result":{"difficulty":"0x31962a3fc82b", "extraData":"0x4477617266506f6f6c", "gasLimit":"0x47c3d8", "gasUsed":"0x0", "hash":