2022-02-23 05:51:12 -08:00
/*
This file is used to store unsecure, application-specific data common to all
environments.
2024-01-29 07:57:32 -08:00
Additional Environent Variables:
- CONNECT_PREF: should have a value of 'cr' (default), or 'direct'. This is
used by helia-coord to select a connection preference between peers. Servers
with an ip4 or ip6 address should use 'direct'.
2022-02-23 05:51:12 -08:00
*/
/* eslint no-unneeded-ternary:0 */
2022-09-17 14:18:16 -07:00
// Hack to get __dirname back.
// https://blog.logrocket.com/alternatives-dirname-node-js-es-modules/
import * as url from 'url'
2022-02-23 05:51:12 -08:00
// Get the version from the package.json file.
2022-09-08 08:58:39 -07:00
import { readFileSync } from 'fs'
2022-09-17 14:18:16 -07:00
const __dirname = url . fileURLToPath ( new URL ( '.' , import . meta . url ))
const pkgInfo = JSON . parse ( readFileSync ( ` ${ __dirname . toString () } /../../package.json` ))
2022-09-08 08:58:39 -07:00
2022-02-23 05:51:12 -08:00
const version = pkgInfo . version
const ipfsCoordName = process . env . COORD_NAME
? process . env . COORD_NAME
: 'ipfs-torlist-service-generic'
2022-09-08 08:58:39 -07:00
export default {
2022-02-23 05:51:12 -08:00
// Configure TCP port.
2022-03-01 18:36:15 -08:00
port : process . env . PORT || 5700 ,
2022-02-23 05:51:12 -08:00
// Password for HTML UI that displays logs.
logPass : 'test' ,
// Email server settings if nodemailer email notifications are used.
emailServer : process . env . EMAILSERVER
? process . env . EMAILSERVER
: 'mail.someserver.com' ,
emailUser : process . env . EMAILUSER
? process . env . EMAILUSER
: 'noreply@someserver.com' ,
emailPassword : process . env . EMAILPASS
? process . env . EMAILPASS
: 'emailpassword' ,
2022-02-23 09:21:23 -08:00
// PSF Web 3 community infrastructure
useFullStackCash : process . env . USE_FULLSTACKCASH ? true : false ,
consumerUrl : process . env . CONSUMER_URL
? process . env . CONSUMER_URL
2022-05-01 13:13:59 -07:00
: 'https://free-bch.fullstack.cash' ,
// : 'https://wa-usa-bch-consumer.fullstackcash.nl',
2022-02-23 09:21:23 -08:00
2022-03-09 07:53:26 -08:00
// P2WDB URL that will accept API calls from the p2wdb npm library.
2022-12-10 10:43:55 -08:00
p2wdbUrl : process . env . P2WDB_URL ? process . env . P2WDB_URL : 'https://p2wdb.fullstack.cash' ,
// p2wdbUrl: process.env.P2WDB_URL ? process.env.P2WDB_URL : 'http://localhost:5010',
2022-03-09 07:53:26 -08:00
2024-06-09 08:28:40 -07:00
// Enable or Disable the usage of Mongo DB.
noMongo : process . env . NO_MONGO ? true : false ,
2024-03-23 17:14:26 -07:00
// BEGIN WALLET CONFIGURATION
// BCH Mnemonic for generating encryption keys and payment address
mnemonic : process . env . MNEMONIC ? process . env . MNEMONIC : '' ,
// (Optional) use a wallet file generated by psf-bch-wallet.
walletFile : process . env . WALLET_FILE
? process . env . WALLET_FILE
: ` ${ __dirname . toString () } /../../wallet.json` ,
// Wallet Configuration
// Default value: web3 - connect to bch-api through web 3 JSON RPC over IPFS.
// Alternate value: web2 - connect to bch-api through a web 2 REST API over HTTP.
walletInterface : process . env . WALLET_INTERFACE ? process . env . WALLET_INTERFACE : 'web3' ,
// Wallet API Server
// Default web2 server: https://api.fullstack.cash/v5/
// Default web3 server: https://free-bch.fullstack.cash/
apiServer : process . env . WALLET_INTERFACE === 'web2'
? (
process . env . APISERVER
? process . env . APISERVER
: 'https://api.fullstack.cash/v5/'
)
: 'https://free-bch.fullstack.cash/' ,
// Basic Authentication Password for connecting to bch-api through a web 2
// REST API over HTTP.
authPass : process . env . WALLET_AUTH_PASS
? process . env . WALLET_AUTH_PASS
: '' ,
2022-02-23 05:51:12 -08:00
// FullStack.cash account information, used for automatic JWT handling.
getJwtAtStartup : process . env . GET_JWT_AT_STARTUP ? true : false ,
authServer : process . env . AUTHSERVER
? process . env . AUTHSERVER
: 'https://auth.fullstack.cash' ,
fullstackLogin : process . env . FULLSTACKLOGIN
? process . env . FULLSTACKLOGIN
: 'demo@demo.com' ,
fullstackPassword : process . env . FULLSTACKPASS
? process . env . FULLSTACKPASS
: 'demo' ,
2024-11-22 10:54:21 -08:00
// authPass: process.env.FULLSTACK_AUTH_PASS
// ? process.env.FULLSTACK_AUTH_PASS
// : '',
2021-08-08 07:38:47 -07:00
2024-03-23 17:14:26 -07:00
// END WALLET CONFIGURATION
// BEGIN IPFS CONFIGURATION
// Debug verbosity level of helia-coord.
// 0 = no debug logs. 3 = maximum logs.
debugLevel : process . env . DEBUG_LEVEL ? parseInt ( process . env . DEBUG_LEVEL ) : 2 ,
// Enable/Disable the IPFS node at startup. Enabled by default.
2024-11-22 10:54:21 -08:00
// useIpfs: process.env.DISABLE_IPFS ? false : true,
useIpfs : false ,
2022-02-23 05:51:12 -08:00
isCircuitRelay : process . env . ENABLE_CIRCUIT_RELAY ? true : false ,
// SSL domain used for websocket connection via browsers.
crDomain : process . env . CR_DOMAIN ? process . env . CR_DOMAIN : '' ,
// Information passed to other IPFS peers about this node.
apiInfo : 'https://ipfs-service-provider.fullstack.cash/' ,
// JSON-LD and Schema.org schema with info about this app.
announceJsonLd : {
'@context' : 'https://schema.org/' ,
'@type' : 'WebAPI' ,
name : ipfsCoordName ,
version ,
protocol : 'generic-service' ,
2022-03-09 07:53:26 -08:00
description : 'This is a generic IPFS Serivice Provider that uses JSON RPC over IPFS to communicate with it. This instance has not been customized. Source code: https://github.com/Permissionless-Software-Foundation/ipfs-service-provider' ,
2022-02-23 05:51:12 -08:00
documentation : 'https://ipfs-service-provider.fullstack.cash/' ,
provider : {
'@type' : 'Organization' ,
name : 'Permissionless Software Foundation' ,
url : 'https://PSFoundation.cash'
2024-04-13 07:02:32 -07:00
},
// If this node has an IP4 address or domain name used to provide a REST API.
2024-04-13 07:09:45 -07:00
web2Api : process . env . WEB2_API ? process . env . WEB2_API : null
2022-02-23 05:51:12 -08:00
},
// P2WDB webhook endpoint
2022-02-23 14:03:57 -08:00
p2wdbPort : process . env . P2WDB_PORT ? process . env . P2WDB_PORT : 5010 ,
2022-02-23 05:51:12 -08:00
webhookService : process . env . WEBHOOKSERVICE
? process . env . WEBHOOKSERVICE
2022-02-23 08:38:16 -08:00
: 'http://localhost:5010/webhook' , // P2WDB.
2022-06-29 16:50:36 -07:00
p2wdbAppId : process . env . APP_ID ? process . env . APP_ID : 'bch-dex-001' ,
2022-03-26 07:32:00 -07:00
webhookTarget : process . env . WEBHOOKTARGET
? process . env . WEBHOOKTARGET
2022-03-31 18:04:13 -07:00
: 'http://localhost:5700/p2wdb' ,
2022-02-23 05:51:12 -08:00
// IPFS Ports
ipfsTcpPort : process . env . IPFS_TCP_PORT ? process . env . IPFS_TCP_PORT : 4001 ,
ipfsWsPort : process . env . IPFS_WS_PORT ? process . env . IPFS_WS_PORT : 4003 ,
2025-02-20 20:51:09 -07:00
ipfsWebRtcPort : process . env . IPFS_WEB_RTC_PORT ? process . env . IPFS_WEB_RTC_PORT : 4005 ,
2025-02-23 10:34:00 -07:00
connectPref : process . env . CONNECT_PREF , // Used in helia-coord to select connection preference.
2022-02-23 05:51:12 -08:00
2021-12-29 17:28:35 -08:00
// Settings for production, using external go-ipfs node.
2023-10-28 11:24:40 -07:00
isProduction : process . env . SVC_ENV === 'prod' ? true : false ,
2021-12-29 17:28:35 -08:00
ipfsHost : process . env . IPFS_HOST ? process . env . IPFS_HOST : 'localhost' ,
ipfsApiPort : process . env . IPFS_API_PORT
? parseInt ( process . env . IPFS_API_PORT )
2022-05-26 09:12:15 -07:00
: 5001 ,
2022-10-01 14:20:37 -07:00
chatPubSubChan : 'psf-ipfs-chat-001' ,
// IPFS gateway
2024-12-06 09:35:33 -08:00
ipfsGateway : process . env . IPFS_GATEWAY ? process . env . IPFS_GATEWAY : 'https://pin.fullstack.cash/ipfs/download/' ,
2024-11-22 10:54:21 -08:00
2023-12-04 07:25:32 -08:00
// This can add specific Circuit Relay v2 servers to connect to.
2023-12-02 14:12:32 -08:00
bootstrapRelays : [
// v2 Circuit Relay (Token Tiger)
2023-12-04 07:25:32 -08:00
// '/ip4/137.184.93.145/tcp/8001/p2p/12D3KooWGMEKkdJfyZbwdH9EafZbRTtMn7FnhWPrE4MhRty2763g',
2023-11-03 12:07:43 -07:00
2023-12-02 14:12:32 -08:00
// v2 Circuit Relay server (FullStack.cash)
2023-12-04 07:25:32 -08:00
// '/ip4/78.46.129.7/tcp/4001/p2p/12D3KooWFQ11GQ5NubsJGhYZ4X3wrAGimLevxfm6HPExCrMYhpSL'
2024-11-25 14:11:21 -04:00
],
2024-03-23 17:14:26 -07:00
// END IPFS CONFIGURATION
2024-11-25 14:11:21 -04:00
// Nostr
2024-11-26 04:23:54 -08:00
nostrRelay : process . env . NOSTR_RELAY ? process . env . NOSTR_RELAY : 'wss://nostr-relay.psfoundation.info' ,
2025-05-19 15:34:36 -07:00
nostrTopic : process . env . NOSTR_TOPIC ? process . env . NOSTR_TOPIC : 'bch-dex-test-topic-02' ,
2025-05-19 13:11:23 -07:00
2025-05-19 12:17:09 -04:00
// Account Configuration
disableNewAccounts : process . env . DISABLE_NEW_ACCOUNTS ? true : false ,
// Admin password
adminPassword : process . env . ADMIN_PASSWORD
2022-02-23 05:51:12 -08:00
}