The Bitcoin Unlimited website, hosted at https://bitcoinunlimited.info
This is a node.js project requiring the npm package manager.
The following will install and build the project.
git clone [email protected]:BitcoinUnlimited/BitcoinUnlimitedWeb.git
cd BitcoinUnlimitedWeb
npm install
npm run buildThis build targets NodeJS versions 6 and 8. Use n and npm to switch between NodeJS versions. npm install -g n.
More info can be found at https://www.npmjs.com/package/n.
To automatically rebuild and restart the server upon changes to src, use both npm run watch and npm run nodemon.
Open http://localhost:8080 to view your website.
npm setup: Install, build and start the server.npm start: Start the servernpm run build: Build the project into the.distfolder and adds public downloads.npm run downloads: Build or update the BitcoinUnlimitedWebDownloads.npm run watch: Watch thesrcdirectory for changes, and rebuild when changednpm run nodemon: Use nodemon to run the server and restart when.distis changed
To add a page to the website:
- Create a react component such as
your-new-page.jsxin thesrc/public/views/pagesdirectory. Seesrc/public/views/pages/index.jsxfor an example. - Add your react component to the react-router in
src/public/views/main.jsx.
npm install bitcoin-unlimited-web --savevar BitcoinUnlimitedWeb = require('bitcoin-unlimited-web');Once installed, the administrative dashboard can be used to create blog posts, override static alert banners, manage administrators and store backups of the current database snapshot.
A database revert feature is also available to choose between different database snapshot backups.
For security purposes update your version .env file:
JWT_SECRET=[yourSecretPassphrase] (required)
DB_NAME=[mainDatabaseName].realm (optional)
DB_AUTH_NAME=[authDatabaseName].realm (optional, but should be changed)
DB_ADMIN_PUBKEY=The pubkey(s) with super admin privileges. The "super" admin can add other pubkeys via the dashboard interface. Separate pubkeys with commas and exclude spaces.
AUTH_EXPIRE=[seconds] (JavaScript Web Token expiration time)
DEBUG=[true or TRUE] (sets the login challenge to 'hello, world')