Install an IPFS node on Beam Dappnet
The Beam DAPPNET is a testnet environment and all coins and assets on this network have zero value.
Using a server of your choice, according to your budget, follow the guide below to install a Beam dappnet node. This guide uses a $6 25GB linux from vultr.
As you would install a Beam node, download release from here:
https://github.com/BeamMW/beam/releases/tag/beam-dappnet-7.1.12823
the guide follows connection to my node at dappnet.raskul.com and the IP is shown because I need not keep this secret. I do not own any files contained on the server being used and all is open source. You can connect the cfg file commands to your own ip or use dappnet.raskul.com if you wish. peers will connect as default to Beam nodes and you can add mine if you wish. 🙂
wget https://github.com/BeamMW/beam/releases/download/beam-dappnet-7.1.12823/linux-beam-node-dappnet-7.1.12823.zip
unzip linux-beam-node-dappnet-7.1.12823.zip
tar -xvf beam-node-dappnet.tar
nano beam-node.cfg
use this as the beam-node.cfg for the dappnet.
# port to start server on
port=10608
# log level [info|debug|verbose]
# log_level=debug
log_level=verbose
file_log_level=verbose
# file log level [info|debug|verbose]
# file_log_level=debug
peers_persistent=1
# old logs cleanup period (days)
# log_cleanup_days=5
################################################################################
# Node options:
################################################################################
# node storage path
# storage=node.db
# nodes to connect to
peer=eu-node01.dappnet.beam.mw:8100, eu-node03.dappnet.beam.mw:8100, eu-node02.dappnet.beam.mw:8100
# port to start stratum server on
stratum_port=3333
# path to stratum server api keys file, and tls certificate and private key
stratum_secrets_path=./stratum_secrets/
#remember to install certificates.
# Enforce re-synchronization (soft reset)
# resync=0
# Owner viewer key
owner_key=getYOUROWNERKEY
# Standalone miner key
miner_key=getYOURMINERKEY
# password for keys
pass=yourPASSWORDhere
# Fork1 height
# Fork1=
# Path to treasury for testing
# treasury_path=
to get your owner key and miner key for the wallet and wallet api. first install the beam-wallet-dappnet files and init the wallet.
./beam-wallet-dappnet init
You can start your node before or after the wallet / wallet api / explorer node is installed. explorer node and wallet api need the node to function, obviously.
./beam-wallet-dappnet export_miner_key --subkey=1
./beam-wallet-dappnet export_owner_key
to start the node:
pm2 start ./beam-node-dappnet
pm2 commands commonly used
pm2 list
pm2 logs #
pm2 flush
pm2 save
pm2 startup
this text in beam-wallet.cfg
# password for the wallet
pass=yourPASSWORD
# phrase to generate secret key according to BIP-39.
# seed_phrase=
# address of node
node_addr=95.179.199.164:10608
# path to wallet file
# wallet_path=wallet.db
# command to execute [new_addr|send|receive|listen|init|info|export_miner_key|export_owner_key|generate_phrase]
command=listen
nano beam-wallet.cfg
nano wallet-api.cfg
################################################################################
# Wallet API general options:
################################################################################
enable_ipfs=true
# password for the wallet
pass=yourPASSWORD
# address of node
node_addr=127.0.0.1:8888
# path to wallet file
# wallet_path=wallet.db
# port to start server on
port=11111
# use JSON RPC over HTTP
use_http=1
nano explorer-node.cfg
################################################################################
# Node explorer options:
################################################################################
# peer address
peer=95.179.199.164:10608
# port to start the local node on
port=1111
# port to start the local api server on
api_port=8888
# owner viewer key
key_owner=getYOUROWNER KEY
# password for owner key
pass=yourPASSWORD
to enable beam confidential assets, you can do this using pm2
pm2 start ./wallet-api-dappnet -- enable_assets
or a pm2 instance of the wallet api to enable max privacy on your server
pm2 start ./wallet-api-dappnet -- enable_lelantus
either are optional as the ipfs enablement is actioned in the wallet-api.cfg, above and this is the purpose of this particular guide. enjoy!
further guide taken from https://github.com/BeamMW/beam/wiki/BEAM-IPFS-Support
Access BEAM IPFS node using standard IPFS cli tool
- Start wallet api
- Install go-ipfs
- Create beam-ipfs bash script (do not forget to change your paths)
#/bin/bash
export IPFS_PATH=/home/ubuntu/beam-api/ipfs-repo/
# uncomment the following line if you're using private IPFS network
# export LIBP2P_FORCE_PNET=1
/home/ubuntu/go-ipfs-node/ipfs "[email protected]"
In desktop client IPFS node API is disabled by default. ipfs_node_api_port
should be set in settings.ini
or Addresses.API
in ipfs-repo/config
to access IPFS node API.
- Make it executable
chmod +x ./beam_ipfs
- Execute usual ipfs commands via the script
./beam-ipfs swarm peers
SystemD IPFS unit file
Example below if given for a standard go-ipfs binary. You can also use the same settings for running wallet API
/etc/systemd/system/ipfs.service
[Unit]
Description=GO IPFS Node
After=network.target
[Service]
Type=exec
Restart=on-failure
Environment="IPFS_PATH=/home/ubuntu/go-ipfs-node/repo"
# uncomment if private IPFS network
# Environment="LIBP2P_FORCE_PNET=1"
WorkingDirectory=/home/ubuntu/go-ipfs-node
ExecStart=/home/ubuntu/go-ipfs-node/ipfs daemon
[Install]
WantedBy=multi-user.target
if you completed this guide, here’s a freebie 😉
QmPMGxVJuYmcDb3EsPxUCDWR3eYC3djZwfXnQiMEiTQ3DF
this is the transaction hash (the ID on the Beam dappnet blockchain) of my novel 666Stitches in pdf format. Once you ‘get’ it from the beam ipfs using the code below, you can amend the file to a .pdf for full readibility!
(you might want to scp it from your linux server first 😉 )
./beam_ipfs get QmPMGxVJuYmcDb3EsPxUCDWR3eYC3djZwfXnQiMEiTQ3DF
example scp command line for the above file (where [email protected] should be amended to your own Beam dappnet node server
scp -r root@serverIP:/root/QmPMGxVJuYmcDb3EsPxUCDWR3eYC3djZwfXnQiMEiTQ3DF ~/Desktop/