mirror of
https://github.com/Permissionless-Software-Foundation/ipfs-bch-wallet-service.git
synced 2026-09-21 16:52:03 -07:00
fix(ipfs-service-provider): Syncing with upstream repo
This commit is contained in:
@@ -29,14 +29,34 @@ This repository is one step in a longer path. Here are the major milestones of t
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
### Development Environment
|
||||||
|
|
||||||
|
A development environment will allow you modify the code on-the-fly and contribute to the code base of this repository. [PM2](https://www.npmjs.com/package/pm2) is recommended for running this code base as an IPFS Circuit Relay.
|
||||||
|
|
||||||
|
- [Video: Installing ipfs-service-provider](https://youtu.be/Z0NsboIVN44)
|
||||||
|
- [Step-by-step installation instructions](https://gist.github.com/christroutner/3304a71d4c12a3a3e1664a438f64d9d0)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/Permissionless-Software-Foundation/ipfs-bch-wallet-service
|
git clone https://github.com/Permissionless-Software-Foundation/ipfs-bch-wallet-service
|
||||||
cd ipfs-bch-wallet-service
|
cd ipfs-bch-wallet-service
|
||||||
sudo npm install -g node-pre-gyp
|
./install-mongo-sh
|
||||||
npm install
|
npm install
|
||||||
npm start
|
./ipfs-bch-wallet-service.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Production Environment
|
||||||
|
|
||||||
|
The [docker](./production/docker) directory contains a Dockerfile for building a production deployment. However, there is currently [a bug](https://github.com/Permissionless-Software-Foundation/ipfs-service-provider/issues/38) preventing the Docker container from being used as a Circuit Relay.
|
||||||
|
|
||||||
|
```
|
||||||
|
docker-compose build --no-cache
|
||||||
|
docker-compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
### Operation Notes
|
||||||
|
|
||||||
|
- There is a memory leak in the version of js-ipfs. The app is currently configured to shut down every 8 hours to flush memory. It relies on a process manager like pm2, Docker, or systemd to restart the app after it shuts down, in order to ensure continuous operation.
|
||||||
|
|
||||||
## Structure
|
## Structure
|
||||||
|
|
||||||
The file layout of this repository differs from the koa-api-boilerplate. Instead, it follows the file layout of [Clean Architecture](troutsblog.com/blog/clean-architecture).
|
The file layout of this repository differs from the koa-api-boilerplate. Instead, it follows the file layout of [Clean Architecture](troutsblog.com/blog/clean-architecture).
|
||||||
|
|||||||
+2
-2
@@ -100,12 +100,12 @@ class Server {
|
|||||||
// Attach the other IPFS controllers
|
// Attach the other IPFS controllers
|
||||||
await controllers.attachControllers(app)
|
await controllers.attachControllers(app)
|
||||||
|
|
||||||
// ipfs-coord has a memory leak. This app shuts down after 8 hours. It
|
// ipfs-coord has a memory leak. This app shuts down after 4 hours. It
|
||||||
// expects to be run by Docker or pm2, which can automatically restart
|
// expects to be run by Docker or pm2, which can automatically restart
|
||||||
// the app.
|
// the app.
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
process.exit(0)
|
process.exit(0)
|
||||||
}, 60000 * 60 * 8)
|
}, 60000 * 60 * 4)
|
||||||
|
|
||||||
return app
|
return app
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
|||||||
Executable
+18
@@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Ports
|
||||||
|
export PORT=5001 # REST API port
|
||||||
|
export IPFS_TCP_PORT=5268
|
||||||
|
export IPFS_WS_PORT=5269
|
||||||
|
|
||||||
|
#export ENABLE_CIRCUIT_RELAY=1
|
||||||
|
|
||||||
|
# Production database connection string.
|
||||||
|
#export DBURL=mongodb://localhost:27017/bch-service-dev
|
||||||
|
|
||||||
|
export COORD_NAME=ipfs-service-provider-generic
|
||||||
|
export MNEMONIC="churn aisle shield silver ladder swear hunt slim pen demand spoil veteran"
|
||||||
|
|
||||||
|
export DEBUG_LEVEL=1
|
||||||
|
|
||||||
|
npm start
|
||||||
Generated
+7
-7
@@ -14,7 +14,7 @@
|
|||||||
"axios": "^0.21.1",
|
"axios": "^0.21.1",
|
||||||
"bcryptjs": "^2.4.3",
|
"bcryptjs": "^2.4.3",
|
||||||
"glob": "^7.1.6",
|
"glob": "^7.1.6",
|
||||||
"ipfs-coord": "^6.6.4",
|
"ipfs-coord": "^6.6.6",
|
||||||
"jsonrpc-lite": "^2.2.0",
|
"jsonrpc-lite": "^2.2.0",
|
||||||
"jsonwebtoken": "^8.5.1",
|
"jsonwebtoken": "^8.5.1",
|
||||||
"jwt-bch-lib": "^1.3.0",
|
"jwt-bch-lib": "^1.3.0",
|
||||||
@@ -9472,9 +9472,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ipfs-coord": {
|
"node_modules/ipfs-coord": {
|
||||||
"version": "6.6.4",
|
"version": "6.6.6",
|
||||||
"resolved": "https://registry.npmjs.org/ipfs-coord/-/ipfs-coord-6.6.4.tgz",
|
"resolved": "https://registry.npmjs.org/ipfs-coord/-/ipfs-coord-6.6.6.tgz",
|
||||||
"integrity": "sha512-0rrfunCMvC9Oiw+MCCUZ5/J2VSY1Z3Wdq6qph2VN+ibdhxeRFtDcfZbVT7VrlWnGo/Q4lbGE+nDAPRro/pgitg==",
|
"integrity": "sha512-vWMrh9kjbNimXuM2fjW7weKXqm4JqvIAoLmfmfuHfRMaJkXiK1RQeTERdE7FmYYunMKVkOz045pMEAFwnNh+vA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bch-encrypt-lib": "^2.0.0",
|
"bch-encrypt-lib": "^2.0.0",
|
||||||
"orbit-db": "^0.26.1"
|
"orbit-db": "^0.26.1"
|
||||||
@@ -31269,9 +31269,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ipfs-coord": {
|
"ipfs-coord": {
|
||||||
"version": "6.6.4",
|
"version": "6.6.6",
|
||||||
"resolved": "https://registry.npmjs.org/ipfs-coord/-/ipfs-coord-6.6.4.tgz",
|
"resolved": "https://registry.npmjs.org/ipfs-coord/-/ipfs-coord-6.6.6.tgz",
|
||||||
"integrity": "sha512-0rrfunCMvC9Oiw+MCCUZ5/J2VSY1Z3Wdq6qph2VN+ibdhxeRFtDcfZbVT7VrlWnGo/Q4lbGE+nDAPRro/pgitg==",
|
"integrity": "sha512-vWMrh9kjbNimXuM2fjW7weKXqm4JqvIAoLmfmfuHfRMaJkXiK1RQeTERdE7FmYYunMKVkOz045pMEAFwnNh+vA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"bch-encrypt-lib": "^2.0.0",
|
"bch-encrypt-lib": "^2.0.0",
|
||||||
"orbit-db": "^0.26.1"
|
"orbit-db": "^0.26.1"
|
||||||
|
|||||||
+1
-1
@@ -28,7 +28,7 @@
|
|||||||
"bcryptjs": "^2.4.3",
|
"bcryptjs": "^2.4.3",
|
||||||
"glob": "^7.1.6",
|
"glob": "^7.1.6",
|
||||||
"@chris.troutner/ipfs": "2.0.2",
|
"@chris.troutner/ipfs": "2.0.2",
|
||||||
"ipfs-coord": "^6.6.4",
|
"ipfs-coord": "^6.6.6",
|
||||||
"jsonrpc-lite": "^2.2.0",
|
"jsonrpc-lite": "^2.2.0",
|
||||||
"jsonwebtoken": "^8.5.1",
|
"jsonwebtoken": "^8.5.1",
|
||||||
"jwt-bch-lib": "^1.3.0",
|
"jwt-bch-lib": "^1.3.0",
|
||||||
|
|||||||
Reference in New Issue
Block a user