Difference between revisions of "Building A Temple"
(4 intermediate revisions by the same user not shown) | |||
Line 27: | Line 27: | ||
To be a temple, you will need to override the biblepayd settings with special values that will allow it to write to custom data folders and read custom configuration settings. | To be a temple, you will need to override the biblepayd settings with special values that will allow it to write to custom data folders and read custom configuration settings. | ||
For easy maintenance, in this guide I put all of your biblepay block data in /data and all of your biblepay configurations in /configs. | For easy maintenance, in this guide I put all of your biblepay block data in /data and all of your biblepay configurations in /configs. | ||
− | First create | + | First create configs directories: |
− | cd / | + | |
− | mkdir /configs | + | cd / |
− | mkdir /data | + | mkdir /configs |
− | cd /configs | + | mkdir /data |
+ | mkdir /data/biblepay1 | ||
+ | mkdir /data/biblepay2 | ||
+ | mkdir /data/biblepay3 | ||
+ | mkdir /data/biblepay4 | ||
+ | mkdir /data/biblepay5 | ||
+ | mkdir /data/biblepay6 | ||
+ | mkdir /data/biblepay7 | ||
+ | mkdir /data/biblepay8 | ||
+ | mkdir /data/biblepay9 | ||
+ | mkdir /data/biblepay10 | ||
+ | cd /configs | ||
+ | |||
+ | |||
+ | nano biblepay1.conf | ||
+ | shrinkdebugfile=1 | ||
+ | datadir=/data/biblepay1 | ||
+ | masternodeblsprivkey=your_bls_privkey | ||
+ | port=40000 | ||
+ | rpcport=20000 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Save the file (ctrl-x, shift-Y, enter) | Save the file (ctrl-x, shift-Y, enter) | ||
− | Copy this file 10 times to: | + | |
− | biblepay1.conf, biblepay2.conf ... biblepay10.conf | + | Copy this biblepay1.conf file 10 times to: |
− | + | ||
+ | |||
+ | biblepay1.conf, biblepay2.conf, biblepay3.conf ... biblepay10.conf | ||
+ | |||
+ | |||
+ | (IE type: ) | ||
+ | |||
+ | cp biblepay1.conf biblepay2.conf | ||
+ | |||
+ | cp biblepay1.conf biblepay3.conf | ||
+ | |||
+ | cp biblepay1.conf biblepay4.conf | ||
+ | ... | ||
+ | Stopping with | ||
+ | cp biblepay1.conf biblepay10.conf | ||
+ | |||
+ | |||
+ | |||
+ | Next, edit each file by using nano, and set the following values: | ||
+ | |||
+ | |||
For biblepay1.conf, ensure the port=40000 and the rpcport=20001 | For biblepay1.conf, ensure the port=40000 and the rpcport=20001 | ||
+ | |||
For biblepay2.conf, ensure the port=10002 and the rpcport=20002 | For biblepay2.conf, ensure the port=10002 and the rpcport=20002 | ||
− | ... | + | |
− | For biblepay10.conf, ensure the port=10010 and the rpcport=20010 | + | ... (Continue this pattern for files 3 through 9). |
+ | |||
+ | |||
+ | For biblepay10.conf, ensure the port=10010 and the rpcport=20010. | ||
+ | |||
+ | |||
+ | |||
+ | |||
Edit the your_bls_privkey with the privkey of the sanctuary that you set up in "EasySanc". | Edit the your_bls_privkey with the privkey of the sanctuary that you set up in "EasySanc". | ||
− | The general rule for the "port" is your first sanc (biblepay1) must have a port of 40000 (this allows outside nodes to find you), but, each successive sanc from sanc2-sanc10 must have a port of 10002-10010 (as other sancs | + | |
− | The rule for "rpcport" is they should be unique, starting with 20001 and working up to 20010 ( | + | The general rule for the "port" is your first sanc (biblepay1) must have a port of 40000 (this allows outside nodes to find you), |
+ | but, each successive sanc from sanc2-sanc10 must have a port of 10002-10010 (as other sancs will pose ban you otherwise. ) | ||
+ | |||
+ | The rule for "rpcport" is they should be unique, starting with 20001 and working up to 20010 (they must be unique, otherwise the node will not start). | ||
+ | |||
Firewall Changes: | Firewall Changes: | ||
− | In this section simply expose | + | |
− | sudo ufw allow 10002 | + | In this section simply expose : |
− | sudo ufw allow 40000 | + | |
+ | sudo ufw allow 10002 | ||
+ | sudo ufw allow 10003 | ||
+ | sudo ufw allow 10004 | ||
+ | sudo ufw allow 10005 | ||
+ | sudo ufw allow 10006 | ||
+ | sudo ufw allow 10007 | ||
+ | sudo ufw allow 10008 | ||
+ | sudo ufw allow 10009 | ||
+ | sudo ufw allow 10010 | ||
+ | sudo ufw allow 40000 | ||
+ | |||
+ | |||
+ | ''' Start the Nodes and verify each one syncs and acts as a Sanctuary ''' | ||
+ | |||
+ | |||
+ | Write a script to launch your nodes so you dont need to manually launch each node in the case of a reboot etc: | ||
+ | |||
+ | cd /configs | ||
+ | |||
+ | nano startbiblepayd.sh | ||
+ | |||
+ | /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay1.conf | ||
+ | /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay2.conf | ||
+ | /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay3.conf | ||
+ | /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay4.conf | ||
+ | /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay5.conf | ||
+ | /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay6.conf | ||
+ | /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay7.conf | ||
+ | /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay8.conf | ||
+ | /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay9.conf | ||
+ | /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay10.conf | ||
+ | |||
+ | |||
+ | ctrl-X, Shift-Y <enter> (to save the file) | ||
+ | |||
+ | |||
+ | chmod 777 startbiblepayd.sh | ||
+ | |||
+ | To start the nodes simply run the startbiblepayd.sh file by doing this: | ||
+ | |||
+ | cd /configs | ||
+ | ./startbiblepayd.sh | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ''' Check if BiblePay is synced ''' | ||
+ | |||
+ | cd /biblepay/biblepay/src | ||
+ | |||
+ | biblepay-cli -conf=/configs/biblepay1.conf getblockchaininfo | ||
+ | |||
+ | This command should respond with the synced number of blocks | ||
+ | |||
+ | |||
+ | |||
+ | ''' Check if each node is running as a sanctuary ''' | ||
+ | |||
+ | biblepay-cli -conf=/configs/biblepay1.conf masternode status | ||
+ | |||
+ | This should respond with outpoint info if masternode is running. |
Latest revision as of 19:12, 8 July 2023
A Temple is a collection of 10 Sanctuaries. The first 12 Temples that we Christen will be named after a Tribe of Israel and will receive a special Seal.
When you run a temple you are not only helping the BiblePay network by providing a cluster of Ten Sanctuaries (helping the users sync blocks and conduct instant send transactions), but you also act as a CockroachDB database node within the BiblePay Cockroach Cluster. Your node is entrusted to hold our active Orphan Sponsorship list, orphan expenses, orphan revenue records, Gospel Articles and Content, Gospel Wiki Content, Images hosted on our web site (Unchained.biblepay.org), our Wells project, the active Proposals and Voting records, Phone call transactions, and other database transactions.
Note that Temples are rewarded at the same rate as other sanctuaries so the Temple operator is not earning more rewards than the average sanctuary owner, it is more of a community service position.
Step 1 - Build a Single BiblePay Node
For clarity, please build your temple as the root user, and build the temple in the folder "/biblepay".
Rent an Unbuntu 20 VMS from your favorite VMS provider with a minimum of 6 cores, 600gb hard drive and 16gb of ram (these requirements ensure that the temple will not slow down the cockroachdb cluster and will be able to service the ten sanctuary instances, and most importantly will allow the temple to handle future Video traffic and cache storage for our gospel videos feature and upcoming social media features such as Deliverance Rooms ) .
Follow these instructions to build biblebay: https://github.com/biblepay/biblepay/blob/master/BuildBiblePay.txt
If you built biblepay in the /biblepay directory, you should find your biblepayd dameon here: /biblepay/biblepay/src/biblepayd If not, you can download the binary from the biblepay web site and copy it here, this way the rest of this guide will match.
Step 2 - Set up 10 Sanctuaries to become a Potential Temple
To be a temple, you will need to override the biblepayd settings with special values that will allow it to write to custom data folders and read custom configuration settings. For easy maintenance, in this guide I put all of your biblepay block data in /data and all of your biblepay configurations in /configs. First create configs directories:
cd / mkdir /configs mkdir /data mkdir /data/biblepay1 mkdir /data/biblepay2 mkdir /data/biblepay3 mkdir /data/biblepay4 mkdir /data/biblepay5 mkdir /data/biblepay6 mkdir /data/biblepay7 mkdir /data/biblepay8 mkdir /data/biblepay9 mkdir /data/biblepay10 cd /configs
nano biblepay1.conf shrinkdebugfile=1 datadir=/data/biblepay1 masternodeblsprivkey=your_bls_privkey port=40000 rpcport=20000
Save the file (ctrl-x, shift-Y, enter)
Copy this biblepay1.conf file 10 times to:
biblepay1.conf, biblepay2.conf, biblepay3.conf ... biblepay10.conf
(IE type: )
cp biblepay1.conf biblepay2.conf
cp biblepay1.conf biblepay3.conf
cp biblepay1.conf biblepay4.conf ... Stopping with cp biblepay1.conf biblepay10.conf
Next, edit each file by using nano, and set the following values:
For biblepay1.conf, ensure the port=40000 and the rpcport=20001
For biblepay2.conf, ensure the port=10002 and the rpcport=20002
... (Continue this pattern for files 3 through 9).
For biblepay10.conf, ensure the port=10010 and the rpcport=20010.
Edit the your_bls_privkey with the privkey of the sanctuary that you set up in "EasySanc".
The general rule for the "port" is your first sanc (biblepay1) must have a port of 40000 (this allows outside nodes to find you), but, each successive sanc from sanc2-sanc10 must have a port of 10002-10010 (as other sancs will pose ban you otherwise. )
The rule for "rpcport" is they should be unique, starting with 20001 and working up to 20010 (they must be unique, otherwise the node will not start).
Firewall Changes:
In this section simply expose :
sudo ufw allow 10002 sudo ufw allow 10003 sudo ufw allow 10004 sudo ufw allow 10005 sudo ufw allow 10006 sudo ufw allow 10007 sudo ufw allow 10008 sudo ufw allow 10009 sudo ufw allow 10010 sudo ufw allow 40000
Start the Nodes and verify each one syncs and acts as a Sanctuary
Write a script to launch your nodes so you dont need to manually launch each node in the case of a reboot etc:
cd /configs
nano startbiblepayd.sh
/biblepay/biblepay/src/biblepayd -conf=/configs/biblepay1.conf /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay2.conf /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay3.conf /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay4.conf /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay5.conf /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay6.conf /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay7.conf /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay8.conf /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay9.conf /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay10.conf
ctrl-X, Shift-Y <enter> (to save the file)
chmod 777 startbiblepayd.sh
To start the nodes simply run the startbiblepayd.sh file by doing this:
cd /configs ./startbiblepayd.sh
Check if BiblePay is synced
cd /biblepay/biblepay/src
biblepay-cli -conf=/configs/biblepay1.conf getblockchaininfo
This command should respond with the synced number of blocks
Check if each node is running as a sanctuary
biblepay-cli -conf=/configs/biblepay1.conf masternode status This should respond with outpoint info if masternode is running.