Pepecoin electrum servers (public nodes) for mobile wallets or any other software is easy to implement and even easier to host yourself with our guide!
Pepecoin ElectrumX Servers
Pepecoin is using modified ElectrumX by Spesmilo making it easy to implement into lightweight wallets. Documentation and source code how to interact with our servers is available here:
Our list of servers can be found right here making it convenient for apps to update automatically for new servers or remove old servers.
Running your own server
You will need:
- Supported Hardware for Docker Engine
- Pepecoin Core
- Correct pepecoin.conf
- Valid SSL Certificate
- Open TCP ports: 50001; 50002; 50004
To run Pepecoin ElectrumX server you need to use this command (edit the variables to your needs):
docker run -d \
-p 50001:50001/tcp \
-p 50002:50002/tcp \
-p 50004:50004/tcp \
-p 8002:80/tcp \
-v /home/user/certs:/etc/ssl/private \
-v electrum_data:/data/db \
-e COIN=Pepecoin \
-e DAEMON_URL=http://pepe:[email protected]:22555 \
-e EVENT_LOOP_POLICY=uvloop \
-e DB_DIRECTORY=/data/db \
-e SERVICES=tcp://:50001,ssl://:50002,wss://:50004,rpc://0.0.0.0:8000 \
-e SSL_CERTFILE=/data/electrumx-pepecoin.crt \
-e SSL_KEYFILE=/data/electrumx-pepecoin.key \
-e HOST="" \
-e REPORT_SERVICES=tcp://electrum.domain.com:50001,ssl://electrum.domain.com:50002,wss://electrum.domain.com:50004 \
-e DONATION_ADDRESS=PZ6chc2WsAvLb6tmTczZfZutZQeSCnKeJR \
-e MAX_SESSIONS=1000 \
--cap-add=NET_ADMIN \
--name pepecoin-electrum \
--restart always \
emgi2/pepecoin-electrum:latest
ElectrumX server will need valid ssl certificate, you can use this Certbot if you are using cloudflare:
docker run -d \
--name certbot \
--restart always \
-e CLOUDFLARE_API_TOKEN=token \
-e EMAIL=email \
-e DOMAIN=electrum.domain.com \
-v /etc/letsencrypt:/etc/letsencrypt \
-v /var/lib/letsencrypt:/var/lib/letsencrypt \
-v /var/log/letsencrypt:/var/log/letsencrypt \
-v /home/user/certs:/certs \
emgi2/certbot
Accessing WeB GUi can be done at port 8002, you will be prompted for an password. Default password is pi2023 (it is what it is). This password can be changed in container at: dashboard/src/Config.php
If you are using Cloudflare, please make sure you are not using at A and AAAA records proxy. You should be using your public IP or use VPN with port forwarding like PureVPN for example (If you dont have static IP, you should use DDNS updater or if using VPN get dedicated IP address).
ElectrumX Testnet Setup
If you want to run Testnet, you need dedicated node for it. You want to add additionally to pepecoin.conf file: testnet=1 and change RPC port to 22556.
Make sure you have Pepecoin core has correctly set RPC port and run this command:
docker run -d \
-p 50007:50007/tcp \
-p 50008:50008/tcp \
-p 50009:50009/tcp \
-p 8003:80/tcp \
-v /home/user/certs:/etc/ssl/private \
-v testnet_electrum_data:/data/db \
-e COIN=Pepecoin \
-e DAEMON_URL=http://pepe:[email protected]:22556 \
-e EVENT_LOOP_POLICY=uvloop \
-e DB_DIRECTORY=/data/db \
-e SERVICES=tcp://:50007,ssl://:50008,wss://:50009,rpc://0.0.0.0:8000 \
-e SSL_CERTFILE=/data/electrumx-pepecoin.crt \
-e SSL_KEYFILE=/data/electrumx-pepecoin.key \
-e HOST="" \
-e REPORT_SERVICES=tcp://electrum.domain.com:50001,ssl://electrum.domain.com:50002,wss://electrum.domain.com:50004 \
-e DONATION_ADDRESS=PZ6chc2WsAvLb6tmTczZfZutZQeSCnKeJR \
-e MAX_SESSIONS=1000 \
-e NET=testnet \
--cap-add=NET_ADMIN \
--name pepecoin-electrum \
--restart always \
emgi2/pepecoin-electrum:latest
Again you will need valid SSL certificate which has docker run command for Cloudflare for mainnet version.
You will see in dashboard that main peers like electrum.pepelum.site and others are marked as bad. That is because they are not running testnet. You see them as bad and they see you too as bad.
Maintaining Server
Maintaining server means keeping updated Pepecoin Core on latest version and having latest version of electrumx server installed. Your server will automatically appear in servers list after Pepecoin team decides if your server meets all strict requirements (like valid SSL certificate, reachability, etc.).