Compare commits

...
23 Commits
Author SHA1 Message Date
Chris Troutner b48b618d4c Merge pull request #23 from Permissionless-Software-Foundation/ct-unstable
fix(upstream): Synced with upstream ipfs-service-provider
2021-08-29 16:48:00 -07:00
Chris Troutner 252834d727 Updating package-lock.json 2021-08-29 16:45:17 -07:00
Chris Troutner 04bcd9fd3a fix(upstream): Synced with upstream ipfs-service-provider 2021-08-29 16:34:03 -07:00
Chris Troutner cc5aba7896 Merge pull request #28 from Permissionless-Software-Foundation/ct-unstable
fix(ipfs-coord): Updating to v6.5.0
2021-08-29 16:24:04 -07:00
Chris Troutner 50bc5c2d02 fix(ipfs-coord): Updating to v6.5.0 2021-08-29 16:16:45 -07:00
Chris Troutner 3251b0dc58 fix(production): changing directories for permission issues 2021-08-28 17:45:28 -07:00
Chris Troutner 090f524b9d Merge pull request #27 from Permissionless-Software-Foundation/ct-unstable
fix(docker-compose): Opening up IPFS ports
2021-08-28 17:31:40 -07:00
Chris Troutner 1846b5da64 fix(docker-compose): Opening up IPFS ports 2021-08-28 17:29:21 -07:00
Chris Troutner 643dfd8fc0 Merge pull request #22 from Permissionless-Software-Foundation/ct-unstable
fix(upstream): Synced with upstream ipfs-service-provider
2021-08-28 07:56:40 -07:00
Chris Troutner 944d721296 fix(e2e): Fixed manual consumer test 2021-08-28 07:38:44 -07:00
Chris Troutner 96e4afd6c8 fix(upstream): Synced with upstream ipfs-service-provider 2021-08-27 16:21:17 -07:00
Chris Troutner 002e6657ff Merge pull request #26 from Permissionless-Software-Foundation/ct-unstable
fix(ipfs-coord): Updated to v6.4.0
2021-08-27 15:43:16 -07:00
Chris Troutner fb215b11b7 fix(production): Tweeking production Docker container slightly 2021-08-27 15:41:33 -07:00
Chris Troutner 1618289078 fix(ipfs-coord): Updated to v6.4.0 2021-08-27 15:04:09 -07:00
Chris Troutner 2ebe42d5f4 Merge pull request #25 from Permissionless-Software-Foundation/ct-unstable
fix(ipfs-coord): Upgrading to v6.3.0
2021-08-26 21:27:13 -07:00
Chris Troutner 326271f703 Updating Dockerfile 2021-08-26 21:24:27 -07:00
Chris Troutner 0480f54287 fix(ipfs-coord): Upgrading to v6.3.0 2021-08-26 21:23:37 -07:00
Chris Troutner f9df8c7fab fix(production): Running Docker as root 2021-08-26 10:53:53 -07:00
Chris Troutner 2ae550c027 Merge pull request #24 from Permissionless-Software-Foundation/ct-unstable
fix(production): Updating Docker container
2021-08-26 10:29:01 -07:00
Chris Troutner eca131fefc minor comments to startup script 2021-08-26 10:27:22 -07:00
Chris Troutner 596645ad6b Bumping to ipfs-coord v6.1.8 2021-08-26 10:17:11 -07:00
Chris Troutner 2a2d940e7c fix(startup): Adding startup and env var settings 2021-08-26 09:21:08 -07:00
Chris Troutner 46b0c595f9 fix(production): Updating Docker container 2021-08-26 08:54:33 -07:00
13 changed files with 464 additions and 344 deletions
+7 -1
View File
@@ -47,6 +47,9 @@ class Server {
useNewUrlParser: true
})
console.log(`Starting environment: ${config.env}`)
console.log(`Debug level: ${config.debugLevel}`)
// MIDDLEWARE START
app.use(convert(logger()))
@@ -68,7 +71,7 @@ class Server {
// Attach REST API and JSON RPC controllers to the app.
const Controllers = require('../src/controllers')
const controllers = new Controllers()
await controllers.attachControllers(app)
await controllers.attachRESTControllers(app)
app.controllers = controllers
@@ -94,6 +97,9 @@ class Server {
)
}
// Attach the other IPFS controllers
await controllers.attachControllers(app)
return app
} catch (err) {
console.error('Could not start server. Error: ', err)
+3 -1
View File
@@ -76,5 +76,7 @@ module.exports = {
ipfsWsPort: process.env.IPFS_WS_PORT ? process.env.IPFS_WS_PORT : 5669,
// BCH Mnemonic for generating encryption keys and payment address
mnemonic: process.env.MNEMONIC ? process.env.MNEMONIC : ''
mnemonic: process.env.MNEMONIC ? process.env.MNEMONIC : '',
debugLevel: process.env.DEBUG_LEVEL ? parseInt(process.env.DEBUG_LEVEL) : 2
}
+386 -302
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "ipfs-bch-wallet-service",
"version": "1.11.1",
"version": "1.11.4",
"description": "IPFS and REST service providing blockchain access needed by a wallet. ",
"main": "index.js",
"scripts": {
@@ -28,7 +28,7 @@
"bcryptjs": "^2.4.3",
"glob": "^7.1.6",
"ipfs": "0.55.4",
"ipfs-coord": "^6.1.6",
"ipfs-coord": "^6.5.0",
"jsonrpc-lite": "^2.2.0",
"jsonwebtoken": "^8.5.1",
"jwt-bch-lib": "^1.3.0",
@@ -23,7 +23,7 @@ WORKDIR /home/safeuser
#RUN runuser -l safeuser -c "npm config set prefix '~/.npm-global'"
# Switch to user account.
USER safeuser
#USER safeuser
# Prep 'sudo' commands.
#RUN echo 'abcd8765' | sudo -S pwd
@@ -39,7 +39,7 @@ WORKDIR /home/safeuser/ipfs-bch-wallet-service
RUN git checkout ct-unstable
# Install dependencies
RUN npm install -g node-pre-gyp
RUN npm install -g @mapbox/node-pre-gyp
RUN npm install
# Generate the API docs
@@ -6,7 +6,7 @@ bch-wallet-mongodb:
ports:
- '5555:27017' # <host port>:<container port>
volumes:
- ./database:/data/db
- ../data/database:/data/db
command: mongod --logpath=/dev/null # -- quiet
restart: always
@@ -22,7 +22,6 @@ bch-wallet-service:
- '5668:5668' # IPFS TCP Port
- '5669:5669' # IPFS WS Port
volumes:
- ../.ipfsdata:/home/safeuser/.ipfsdata
# - ../orbitdb:/home/safeuser/orbitdb
- ../data/ipfsdata:/home/safeuser/ipfs-service-provider/.ipfsdata
restart: always
+36
View File
@@ -0,0 +1,36 @@
#!/bin/bash
# BEGIN: Optional configuration settings
# This mnemonic is used to set up persistent public key for e2ee
# Replace this with your own 12-word mnemonic.
export MNEMONIC="olive two muscle bottom coral ancient wait legend bronze useful process session"
# The human readable name this IPFS node identifies as.
export COORD_NAME=ipfs-service-provider-generic
# Allow this node to function as a circuit relay. It must not be behind a firewall.
#export ENABLE_CIRCUIT_RELAY=true
# Debug level. 0 = minimal info. 2 = max info.
export DEBUG_LEVEL=1
# END: Optional configuration settings
# Production database connection string.
export DBURL=mongodb://172.17.0.1:5555/ipfs-service-prod
# Customize these environment variables for your own installation.
export AUTHSERVER=https://auth.fullstack.cash
export APISERVER=https://api.fullstack.cash/v5/
export FULLSTACKLOGIN=demo@demo.com
export FULLSTACKPASS=demo
# Ports
export PORT=5001 # REST API
export IPFS_TCP_PORT=5668 # IPSF TCP Port
export IPFS_WS_PORT=5669 # IPFS WS Port
export SVC_ENV=production
npm start
-20
View File
@@ -1,20 +0,0 @@
#!/bin/bash
# Customize these environment variables for your own installation.
export AUTHSERVER=https://auth.fullstack.cash
export APISERVER=https://api.fullstack.cash/v5/
export FULLSTACKLOGIN=demo@demo.com
export FULLSTACKPASS=demo
# Ports
export PORT=5001 # REST API
export IPFS_TCP_PORT=5668 # IPSF TCP Port
export IPFS_WS_PORT=5669 # IPFS WS Port
# Production database connection string.
export DBURL=mongodb://172.17.0.1:5555/ipfs-service-prod
#export ENABLE_CIRCUIT_RELAY=1
export SVC_ENV=production
npm start
+2 -1
View File
@@ -54,7 +54,8 @@ class IpfsCoordAdapter {
isCircuitRelay: this.config.isCircuitRelay,
apiInfo: this.config.apiInfo,
announceJsonLd: this.config.announceJsonLd,
mnemonic: this.config.mnemonic
mnemonic: this.config.mnemonic,
debugLevel: this.config.debugLevel
})
// Wait for the ipfs-coord library to signal that it is ready.
+1 -1
View File
@@ -36,7 +36,7 @@ class Controllers {
await this.adapters.start()
// Attach the REST controllers to the Koa app.
this.attachRESTControllers(app)
// this.attachRESTControllers(app)
this.attachRPCControllers()
}
+21 -9
View File
@@ -45,12 +45,17 @@ class TestUtils {
async sendRPC (ipfsId, cmdStr) {
try {
// Send the RPC command to the server/service.
await this.ipfsCoord.ipfs.orbitdb.sendToDb(ipfsId, cmdStr)
// await this.ipfsCoord.ipfs.orbitdb.sendToDb(ipfsId, cmdStr)
await this.ipfsCoord.useCases.peer.sendPrivateMessage(
ipfsId,
cmdStr,
this.ipfsCoord.thisNode
)
let retData
// This event is triggered when the response comes back.
this.eventEmitter.on('rpcData', inData => {
this.eventEmitter.on('rpcData', (inData) => {
retData = inData
})
@@ -98,11 +103,8 @@ class TestUtils {
apiInfo: 'none',
announceJsonLd: announceJsonLd
})
await this.ipfsCoord.ipfs.start()
// some ipfs-coord versions do not have this function
if (this.ipfsCoord.isReady) {
await this.ipfsCoord.isReady()
}
await this.ipfsCoord.start()
// Wait to let ipfs-coord connect to subnet peers.
await this.bchjs.Util.sleep(30000)
@@ -126,10 +128,17 @@ class TestUtils {
// 'ipfs-coord peer info: ',
// this.ipfsCoord.ipfs.peers.state.peers[ipfsId]
// )
if (!this.ipfsCoord.ipfs.peers.state.peers[ipfsId]) {
const peers = this.ipfsCoord.thisNode.peerList
// console.log('peers: ', peers)
// console.log('Target peer in peerList? ', peers.includes(ipfsId))
// if (!this.ipfsCoord.ipfs.peers.state.peers[ipfsId]) {
if (!peers.includes(ipfsId)) {
throw new Error('Could not find UUT in ipfs-coord list of peers.')
}
} catch (err) {
console.log(err)
console.error('Error in connectToUut()')
console.log(
'Is the service running? Did you update the test-data.json file?'
@@ -215,7 +224,10 @@ class TestUtils {
const result = await this.sendRPC(ipfsId, cmdStr)
// console.log('result: ', result)
if (result.result.value.status && Array.isArray(result.result.value.transactions)) {
if (
result.result.value.status &&
Array.isArray(result.result.value.transactions)
) {
console.log('E2E TEST: transactions test passed.')
return true
} else {
+2 -2
View File
@@ -1,4 +1,4 @@
{
"uutAddr": "/ip4/192.168.43.115/tcp/5668/p2p/QmVBWvFxao7smhRjUUh1q8rNAEwMqbg4X3dqsQDMSjUpmx",
"uutId": "QmfUjMqUeXSCzNkFGrzvf79yvV62dtjsnwtBSYKx3wegXw"
"uutAddr": "/ip4/127.0.0.1/tcp/5701/p2p/QmWkjYRRTaxVEuGK8ip2X3trVyJShFs6U9g1h9x6fK5mZ2",
"uutId": "QmWkjYRRTaxVEuGK8ip2X3trVyJShFs6U9g1h9x6fK5mZ2"
}