This plugin extends BTCPayServer to enable users to receive payments via Zcash.
Warning
This plugin shares a single Zcash wallet across all the stores in the BTCPayServer instance. Only use this plugin if you are not sharing your instance.
Running a full node (with zebra
and lightwalletd
)
export BTCPAYGEN_EXCLUDE_FRAGMENTS="$BTCPAYGEN_EXCLUDE_FRAGMENTS;zcash"
export BTCPAYGEN_ADDITIONAL_FRAGMENTS="$BTCPAYGEN_ADDITIONAL_FRAGMENTS;zcash-fullnode"
. ./btcpay-setup.sh -i
You can create a local test build of the plugin manually using these steps:
git clone --recurse-submodules https://github.com/btcpay-zcash/btcpayserver-zcash-plugin
cd
into the repository
cd btcpayserver
dotnet build .
cd ..
dotnet build .
cd btcpayserver/BTCPayServer
dotnet run
cd btcpayserver
dotnet build .
cd ..
dotnet publish
cd bin/Release/net8.0/publish/
zip BTCPayServer.Plugins.ZCash.btcpay BTCPayServer.Plugins.ZCash.pdb BTCPayServer.Plugins.ZCash.dll BTCPayServer.Plugins.ZCash.deps.json
You will need to create this file:
btcpayserver/BTCPayServer/appsettings.dev.json
{
"DEBUG_PLUGINS": "/<absolute-path-to-repo>/btcpayserver-zcash-plugin/Plugins/ZCash/bin/Debug/net8.0/BTCPayServer.Plugins.ZCash.dll",
"ZEC_DAEMON_URI": "http://127.0.0.1:8001",
"ZEC_WALLET_DAEMON_URI": "http://127.0.0.1:8001",
"ZEC_WALLET_DAEMON_WALLETDIR": "/<absolute-path-to-repo>/btcpayserver-zcash-plugin/dev/wallet_datadir",
"CHAINS": "zec"
}
Configure this plugin using the following environment variables:
Environment variable | Description |
---|---|
BTCPAY_ZEC_DAEMON_URI | Required. The URI of the deamon RPC interface |
BTCPAY_ZEC_WALLET_DAEMON_URI | Required. The URI of the wallet RPC interface |
BTCPAY_ZEC_WALLET_DAEMON_WALLETDIR | Required. The directory of the wallet directory |
If you are a developer maintaining this plugin, in order to maintain this plugin, you need to clone this repository with --recurse-submodules
:
git clone --recurse-submodules https://github.com/btcpay-zcash/btcpayserver-zcash-plugin