This module is a pure Perl implementation of the methods that are currently part of the Zcash Payment API client calls (zcash-cli
).
The method names and parameters are identical between the Zcash Payment API reference and this module.
This is done for consistency so that a developer only has to reference one manual:
https://github.com/zcash/zcash/blob/master/doc/payment-api.md
Currently tested against Zcash v1.0.14 but should work with earlier versions.
#!/usr/bin/perl
use Zcash::RPC::Client;
# Create Zcash::RPC::Client object
$zec = Zcash::RPC::Client->new(
user => "username",
password => "p4ssword",
);
# Zcash supports all commands in the Bitcoin Core API
$getinfo = $zec->getinfo;
$blocks = $getinfo->{blocks};
# Return the total value of funds stored in the node’s wallet
$z_gettotalbalance = $zec->z_gettotalbalance;
# Output:
# {
# "transparent" : 1.23,
# "private" : 4.56,
# "total" : 5.79
# }
print $z_gettotalbalance->{total};
# 5.79
# See ex/example.pl for more in depth JSON handling:
# https://github.com/Cyclenerd/Zcash-RPC-Client/tree/master/ex
$zec = Zcash::RPC::Client->new( %options );
This method creates a new Zcash::RPC::Client
and returns it.
Key | Default |
---|---|
host | 127.0.0.1 |
user | undef (Required) |
password | undef (Required) |
cookie | undef |
port | 8232 |
wallet | undef |
timeout | 20 |
ssl | 0 |
verify_hostname | 1 |
debug | 0 |
host - Address listens for JSON-RPC connections
user and password - User and Password for JSON-RPC api commands
cookie - Absolute path to your RPC cookie file (.cookie). When cookie is defined user and password will be ignored and the contents of cookie will be used instead.
port - TCP port for JSON-RPC connections
wallet - Work against specific wallet.dat file when Multi-wallet support is enabled
timeout - Set the timeout in seconds for individual RPC requests. Increase this for slow zcashd instances.
ssl - OpenSSL support has been removed from the Bitcoin Core and Zcash project.
However Zcash::RPC::Client
will work over SSL with earlier versions or with a reverse web proxy such as nginx.
verify_hostname - Disable SSL certificate verification. Needed when zcashd is fronted by a proxy or when using a self-signed certificate.
debug - Turns on raw HTTP request/response output from LWP::UserAgent.
perl Makefile.PL
make
make test
make install
cpanm Zcash::RPC::Client
perl -MCPAN -e shell
install Zcash::RPC::Client
Moo
JSON::RPC::Legacy::Client
- Boolean parameters must be passed as
JSON::Boolean
objects E.g.JSON::true
Zcash is based on Bitcoin. Zcash supports all commands in the Bitcoin Core API (as of version 0.11.2). This module is a fork of the Bitcoin JSON-RPC client.
Bitcoin::RPC::Client
is developed by Wesley Hinds. This Zcash fork is mantained by Nils Knieling.