From 24b85e410da0730c339c0fed0d57a2c6750270bd Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Thu, 11 Feb 2021 10:10:23 -0800 Subject: [PATCH 1/2] Adding script to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 7f5639f..f35a97c 100644 --- a/.gitignore +++ b/.gitignore @@ -28,6 +28,7 @@ test-fullstack-abc.sh test-fullstack-bchn.sh start-fullstack-abc.sh start-fullstack-bchn.sh +start-ss-main.sh coverage start-my-infra From 7976909dbb7bd2c96ae52a7f2ecd57d546f55f94 Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Thu, 11 Feb 2021 11:25:25 -0800 Subject: [PATCH 2/2] feat(SLPDB): Adding separate passwords for GP and WL SLPDBs --- src/routes/v4/slp.js | 46 +++++++++++++++++++++++++++++++++----------- start-dev-example.sh | 3 ++- 2 files changed, 37 insertions(+), 12 deletions(-) diff --git a/src/routes/v4/slp.js b/src/routes/v4/slp.js index 7d1e72f..6c5567d 100644 --- a/src/routes/v4/slp.js +++ b/src/routes/v4/slp.js @@ -35,7 +35,10 @@ util.inspect.defaultOptions = { depth: 5 } // Determine the Access password for a private instance of SLPDB. // https://gist.github.com/christroutner/fc717ca704dec3dded8b52fae387eab2 -const SLPDB_PASS = process.env.SLPDB_PASS ? process.env.SLPDB_PASS : 'BITBOX' +// Password for General Purpose (GP) SLPDB. +const SLPDB_PASS_GP = process.env.SLPDB_PASS_GP ? process.env.SLPDB_PASS_GP : 'BITBOX' +// Password for Whitelist (WL) SLPDB. +const SLPDB_PASS_WL = process.env.SLPDB_PASS_GP ? process.env.SLPDB_PASS_GP : 'BITBOX' // const rawtransactions = require('./full-node/rawtransactions') const RawTransactions = require('./full-node/rawtransactions') @@ -434,7 +437,7 @@ class Slp { const b64 = Buffer.from(s).toString('base64') const url = `${process.env.SLPDB_URL}q/${b64}` - const options = _this.generateCredentials() + const options = _this.generateCredentialsGP() // Request options const opt = { method: 'get', @@ -585,7 +588,7 @@ class Slp { } } - const options = _this.generateCredentials() + const options = _this.generateCredentialsGP() // Collect an array of promises, one for each request to slpserve. // This is a nested array of promises. @@ -807,7 +810,7 @@ class Slp { const b64 = Buffer.from(s).toString('base64') const url = `${process.env.SLPDB_URL}q/${b64}` - const options = _this.generateCredentials() + const options = _this.generateCredentialsGP() const opt = { method: 'get', baseURL: url, @@ -996,7 +999,7 @@ class Slp { const url = `${process.env.SLPDB_URL}q/${b64}` // console.log('url: ', url) - const options = _this.generateCredentials() + const options = _this.generateCredentialsGP() // Get data from SLPDB. const opt = { @@ -1130,7 +1133,7 @@ class Slp { } } - const options = _this.generateCredentials() + const options = _this.generateCredentialsGP() const s = JSON.stringify(query) const b64 = Buffer.from(s).toString('base64') @@ -1330,7 +1333,7 @@ class Slp { } } - const options = _this.generateCredentials() + const options = _this.generateCredentialsWL() const s = JSON.stringify(query) const b64 = Buffer.from(s).toString('base64') @@ -1424,7 +1427,7 @@ class Slp { const url = `${process.env.SLPDB_WHITELIST_URL}q/${b64}` // console.log('url: ', url) - const options = _this.generateCredentials() + const options = _this.generateCredentialsWL() // Get data from SLPDB. const opt = { @@ -1567,7 +1570,7 @@ class Slp { const b64 = Buffer.from(s).toString('base64') const url = `${process.env.SLPDB_URL}q/${b64}` - const options = _this.generateCredentials() + const options = _this.generateCredentialsGP() const opt = { method: 'get', baseURL: url, @@ -1727,11 +1730,32 @@ class Slp { } // Generates a Basic Authorization header for slpserve. - generateCredentials () { + generateCredentialsGP () { // Generate the Basic Authentication header for a private instance of SLPDB. const username = 'BITBOX' - const password = SLPDB_PASS + const password = SLPDB_PASS_GP const combined = `${username}:${password}` + // console.log(`combined: ${combined}`) + var base64Credential = Buffer.from(combined).toString('base64') + var readyCredential = `Basic ${base64Credential}` + + const options = { + headers: { + authorization: readyCredential + }, + timeout: 15000 + } + + return options + } + + // Generates a Basic Authorization header for slpserve. + generateCredentialsWL () { + // Generate the Basic Authentication header for a private instance of SLPDB. + const username = 'BITBOX' + const password = SLPDB_PASS_WL + const combined = `${username}:${password}` + // console.log(`combined: ${combined}`) var base64Credential = Buffer.from(combined).toString('base64') var readyCredential = `Basic ${base64Credential}` diff --git a/start-dev-example.sh b/start-dev-example.sh index 650b793..803aa75 100755 --- a/start-dev-example.sh +++ b/start-dev-example.sh @@ -16,9 +16,10 @@ export RPC_USERNAME=bitcoin export RPC_PASSWORD=password # SLPDB +export SLPDB_PASS_GP=somelongpassword 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_PASS_WL=somelongpassword export SLPDB_WHITELIST_URL=http://:12300/ # slp-api alternative SLP validator using slp-validate: # https://github.com/Permissionless-Software-Foundation/slp-api