diff --git a/config/index.js b/config/index.js index 00bb0ca..3e1d1a2 100644 --- a/config/index.js +++ b/config/index.js @@ -10,9 +10,9 @@ const config = { : 'secret-jwt-token', // Rate Limits - anonRateLimit: process.env.ANON_RATE_LIMIT ? process.env.ANON_RATE_LIMIT : 50, + anonRateLimit: process.env.ANON_RATE_LIMIT ? Number(process.env.ANON_RATE_LIMIT) : 50, whitelistRateLimit: process.env.WHITELIST_RATE_LIMIT - ? process.env.WHITELIST_RATE_LIMIT + ? Number(process.env.WHITELIST_RATE_LIMIT) : 10, whitelistDomains: process.env.WHITELIST_DOMAINS ? process.env.WHITELIST_DOMAINS.split(',') diff --git a/start-dev-example.sh b/start-dev-example.sh index f64313f..c5c912d 100755 --- a/start-dev-example.sh +++ b/start-dev-example.sh @@ -1,15 +1,18 @@ #!/bin/bash -# Full node -export RPC_BASEURL=http://:8332/ -export RPC_USERNAME= -export RPC_PASSWORD= +# Which network are you using? export NETWORK=mainnet +#export NETWORK=testnet + +# Full node +export RPC_IP=:8332 +export RPC_BASEURL=http://$RPC_IP/ +export RPC_USERNAME=bitcoin +export RPC_PASSWORD=password # SLPDB export SLPDB_URL=http://:12300/ export SLPDB_PASS=somelongpassword - # Use the same address as SLPDB_URL if you don't have a separate whitelist server. export SLPDB_WHITELIST_URL=http://:12300/ @@ -17,15 +20,13 @@ export SLPDB_WHITELIST_URL=http://:12300/ # https://github.com/Permissionless-Software-Foundation/slp-api export SLP_API_URL=http://10.0.0.5:5001/ -# Blockbook -export BLOCKBOOK_URL=https://:9131/ -# Allow node.js to make network calls to https using self-signed certificate. -export NODE_TLS_REJECT_UNAUTHORIZED=0 - # Mainnet Fulcrum / ElectrumX export FULCRUM_URL=192.168.0.6 export FULCRUM_PORT=50002 +# JWT Token Secret +# This is used to verify JWT tokens generated with jwt-bch-api: +# https://github.com/Permissionless-Software-Foundation/jwt-bch-api export TOKENSECRET=somelongpassword # So that bch-api can call bch-js locally. @@ -34,4 +35,15 @@ export LOCAL_RESTURL=http://127.0.0.1:3000/v3/ # Basic Authentication password export PRO_PASS=somerandomepassword:someotherrandompassword:aThirdPassword +# Whitelisted domains. Automatically give pro-tier rate limit access to apps +# that originate froma domain on the whitelist. +export WHITELIST_DOMAINS=fullstack.cash,psfoundation.cash,torlist.cash + +# Rate Limits. Numbers are divided into 1000. e.g. 1000 / 50 = 20 RPM for ANON. +# Requests use the ANON rate limit if they fail to pass in a JWT token. +# ANON = 20 requests per minute (RPM) +export ANON_RATE_LIMIT=50 +# 10 = 100 RPM +export WHITELIST_RATE_LIMIT=10 + npm start