Compare commits

...
3 Commits
Author SHA1 Message Date
Chris Troutner 7b8710d3da Merge pull request #93 from Permissionless-Software-Foundation/ct-unstable
feat(SLPDB): Adding separate passwords for GP and WL SLPDBs
2021-02-11 11:26:34 -08:00
Chris Troutner 7976909dbb feat(SLPDB): Adding separate passwords for GP and WL SLPDBs 2021-02-11 11:25:25 -08:00
Chris Troutner 24b85e410d Adding script to gitignore 2021-02-11 10:10:23 -08:00
3 changed files with 38 additions and 12 deletions
+1
View File
@@ -28,6 +28,7 @@ test-fullstack-abc.sh
test-fullstack-bchn.sh test-fullstack-bchn.sh
start-fullstack-abc.sh start-fullstack-abc.sh
start-fullstack-bchn.sh start-fullstack-bchn.sh
start-ss-main.sh
coverage coverage
start-my-infra start-my-infra
+35 -11
View File
@@ -35,7 +35,10 @@ util.inspect.defaultOptions = { depth: 5 }
// Determine the Access password for a private instance of SLPDB. // Determine the Access password for a private instance of SLPDB.
// https://gist.github.com/christroutner/fc717ca704dec3dded8b52fae387eab2 // 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')
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 b64 = Buffer.from(s).toString('base64')
const url = `${process.env.SLPDB_URL}q/${b64}` const url = `${process.env.SLPDB_URL}q/${b64}`
const options = _this.generateCredentials() const options = _this.generateCredentialsGP()
// Request options // Request options
const opt = { const opt = {
method: 'get', 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. // Collect an array of promises, one for each request to slpserve.
// This is a nested array of promises. // This is a nested array of promises.
@@ -807,7 +810,7 @@ class Slp {
const b64 = Buffer.from(s).toString('base64') const b64 = Buffer.from(s).toString('base64')
const url = `${process.env.SLPDB_URL}q/${b64}` const url = `${process.env.SLPDB_URL}q/${b64}`
const options = _this.generateCredentials() const options = _this.generateCredentialsGP()
const opt = { const opt = {
method: 'get', method: 'get',
baseURL: url, baseURL: url,
@@ -996,7 +999,7 @@ class Slp {
const url = `${process.env.SLPDB_URL}q/${b64}` const url = `${process.env.SLPDB_URL}q/${b64}`
// console.log('url: ', url) // console.log('url: ', url)
const options = _this.generateCredentials() const options = _this.generateCredentialsGP()
// Get data from SLPDB. // Get data from SLPDB.
const opt = { const opt = {
@@ -1130,7 +1133,7 @@ class Slp {
} }
} }
const options = _this.generateCredentials() const options = _this.generateCredentialsGP()
const s = JSON.stringify(query) const s = JSON.stringify(query)
const b64 = Buffer.from(s).toString('base64') 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 s = JSON.stringify(query)
const b64 = Buffer.from(s).toString('base64') const b64 = Buffer.from(s).toString('base64')
@@ -1424,7 +1427,7 @@ class Slp {
const url = `${process.env.SLPDB_WHITELIST_URL}q/${b64}` const url = `${process.env.SLPDB_WHITELIST_URL}q/${b64}`
// console.log('url: ', url) // console.log('url: ', url)
const options = _this.generateCredentials() const options = _this.generateCredentialsWL()
// Get data from SLPDB. // Get data from SLPDB.
const opt = { const opt = {
@@ -1567,7 +1570,7 @@ class Slp {
const b64 = Buffer.from(s).toString('base64') const b64 = Buffer.from(s).toString('base64')
const url = `${process.env.SLPDB_URL}q/${b64}` const url = `${process.env.SLPDB_URL}q/${b64}`
const options = _this.generateCredentials() const options = _this.generateCredentialsGP()
const opt = { const opt = {
method: 'get', method: 'get',
baseURL: url, baseURL: url,
@@ -1727,11 +1730,32 @@ class Slp {
} }
// Generates a Basic Authorization header for slpserve. // Generates a Basic Authorization header for slpserve.
generateCredentials () { generateCredentialsGP () {
// Generate the Basic Authentication header for a private instance of SLPDB. // Generate the Basic Authentication header for a private instance of SLPDB.
const username = 'BITBOX' const username = 'BITBOX'
const password = SLPDB_PASS const password = SLPDB_PASS_GP
const combined = `${username}:${password}` 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 base64Credential = Buffer.from(combined).toString('base64')
var readyCredential = `Basic ${base64Credential}` var readyCredential = `Basic ${base64Credential}`
+2 -1
View File
@@ -16,9 +16,10 @@ export RPC_USERNAME=bitcoin
export RPC_PASSWORD=password export RPC_PASSWORD=password
# SLPDB # SLPDB
export SLPDB_PASS_GP=somelongpassword
export SLPDB_URL=http://<SLPDB IP>:12300/ export SLPDB_URL=http://<SLPDB IP>:12300/
export SLPDB_PASS=somelongpassword
# Use the same address as SLPDB_URL if you don't have a separate whitelist server. # 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://<SLPDB IP>:12300/ export SLPDB_WHITELIST_URL=http://<SLPDB IP>:12300/
# slp-api alternative SLP validator using slp-validate: # slp-api alternative SLP validator using slp-validate:
# https://github.com/Permissionless-Software-Foundation/slp-api # https://github.com/Permissionless-Software-Foundation/slp-api