Sign inSign up

dogeorg/gigawallet

By dogeorg

•Updated about 3 years ago

Dogecoin GigaWallet Docker Image

Image
1

348

dogeorg/gigawallet repository overview

⁠ What is GigaWallet Dogecoin Docker?⁠

It's a Docker container that enables you to run GigaWallet⁠ in any operating system.

Dogecoin GigaWallet⁠ is a backend service which provides a convenient integration API for platforms such as online shops, exchanges, social media platforms etc, to accept and transact Dogecoin on behalf of their users.

The purpose of the GigaWallet⁠ is to promote the rapid uptake of Dogecoin as a payment option, by taking the complexity and risk out of integrating Dogecoin payments into business.

You will need to run also a Dogecoin Node and optionally a PostgreSQL 15 or above if you want to handle more concurrent connections on GigaWallet

⁠ How to use GigaWallet Dogecoin Docker?⁠

Note: If you want to run GigaWallet in seconds just follow this steps here⁠

⁠Pull GigaWallet
docker pull dogeorg/gigawallet:latest

Then get a copy of a devconf.toml GigaWallet config file here⁠ edit all configurations to connect to your Dogecoin Node save it with the name, for example gigaconf.toml

Make sure you have your Dogecoin Node running with the correct GigaWallet Server IP on the rpcallowip configuration of the Node (check bellow how to run a Dogecoin Node Docker if you want) and optionally a PostgreSQL Server (check bellow how to run a PostgreSQL Docker also if you want)

⁠Run GigaWallet
docker run --name YOUR-CONTAINER-NAME --mount type=bind,source=/PATH/FOLDER-TO-GIGACONF/YOUR-PREFERED-CONF-NAME.toml,target=/gigawallet/YOUR-PREFERED-CONF-NAME.toml--network host -e GIGA_ENV=YOUR-PREFERED-CONF-NAME -e admin_port=8081 -e pub_port=8082 -e store_db_file="YOUR-DB-NAME-OR-POSTGRESQL-CONNECTION" -d -p 8081:8081 -p 8082:8082 dogeorg/gigawallet:latest

⁠Tail GigaWallet Logs
docker logs -f gigawallet

⁠Tail GigaWallet Events Logs
docker exec -it gigawallet tail -f /gigawallet/events.log

⁠How to send a GigaWallet command Example
docker exec -it gigawallet sh -c 'curl -X POST http://localhost:8081/account/shibe1 -H "Content-Type: application/json" -d '\''{
    "payout_address": "DSVw8wkkTXccdq78etZ3UwELrmpfvAiVt1",
    "payout_threshold": "0",
    "payout_frequency": "0"
}'\'''

⁠ Run GigaWallet in a few seconds following this steps⁠

⁠(1) Pull Dogecoin Core Node
docker pull dogeorg/dogecoin-node:ubuntu

⁠(2) Run Dogecoin Core Node
docker run --name dogecoin-node --network host -e uacomment="GigaWallet" -e rpcuser=gigawallet -e rpcpassword=gigawallet -e rpcport=22555 -e rpcallowip=0.0.0.0 -d -p 22555:22555 -p 22556:22556 -p 28332:28332 dogeorg/dogecoin-node:ubuntu

⁠(3) Pull PostgreSQL 15
docker pull postgres:15

We run the postgres-container with the password gigawallet that you can change

⁠(4) Run PostgreSQL 15
docker run --name postgres-container --network host -e POSTGRES_PASSWORD=gigawallet -d -p 5432:5432 postgres:15

⁠(5) Create PostgreSQL Database
docker exec -it postgres-container createdb -U postgres gigawallet

⁠(6) Pull GigaWallet
docker pull dogeorg/gigawallet:latest

⁠(7) GigaWallet example configuration file, put the below file with the name gigaconf.toml in a root directory, called gigadocker

  # This config is meant for local development only
  [WebAPI]
    adminbind = "localhost"  # avoids macOS firewall confirmation!
    adminport = "8081"
    pubbind = "localhost"  # avoids macOS firewall confirmation!
    pubport = "8082"
    pubapirooturl = "http://localhost:8082"
  [Store]
    DBFile = "postgres://postgres:gigawallet@localhost/gigawallet?sslmode=disable"
  [gigawallet]
    network = "mainnet"  # which dogecoind to connect to
  [dogecoind.testnet]
    host    = "localhost"
    zmqport = 28332
    rpchost = "localhost"
    rpcport = 44555
    rpcpass = "pass"
    rpcuser = "user"  
  [dogecoind.mainnet]
    host    = "localhost"
    zmqport = 28332
    rpchost = "localhost"
    rpcport = 22555
    rpcpass = "gigawallet"
    rpcuser = "gigawallet"  
  [loggers.events]
    path = "./events.log"
    types = ["ALL"]
  

⁠(8) Run GigaWallet Example
docker run --name gigawallet --mount type=bind,source=/gigadocker/gigaconf.toml,target=/gigawallet/gigaconf.toml --network host -e GIGA_ENV=gigaconf -e admin_port=8081 -e pub_port=8082 -e store_db_file="postgres://postgres:gigawallet@localhost/gigawallet?sslmode=disable" -d -p 8081:8081 -p 8082:8082 dogeorg/gigawallet:latest

⁠What is GigaWallet?⁠

The GigaWallet Logo

Dogecoin GigaWallet is a backend service which provides a convenient integration API for platforms such as online shops, exchanges, social media platforms etc, to accept and transact Dogecoin on behalf of their users.

The purpose of the GigaWallet is to promote the rapid uptake of Dogecoin as a payment option, by taking the complexity and risk out of integrating Dogecoin payments into business.

Static Badge

⁠It's dangerous to go alone, take this? Maybe!⁠

⚠️ Note: GigaWallet is a software-engineering component for anyone looking to integrate Dogecoin into their product, this is not a user-facing Dogecoin wallet. If you are a user looking for a dogecoin wallet you can search the wallet index⁠ on the dogecoin.com⁠ website.

dangerous to go alone

It is expected that you are a comfortable with managing server infrastructure and integrating with REST APIs. GigaWallet is a service that must be deployed behind a firewall that protects it's sensitive APIs from the public internet, to which you will integrate your public-facing systems.

Effort has been taken to create a system which integrates with your platform, and so the APIs for Accounts all require a foreignID which represents the account from your system.

GigaWallet manages it's own database to track HD wallets, Invoices, UTXOs and other data it needs, however it is not a general-purpose shopping cart or user management system, it is expected that you will provide what you need on your side to create the magic ✨ you have in mind, good luck adventurer!

Tag summary

Content type

Image

Digest

sha256:15dd5fe5c…

Size

463.8 MB

Last updated

about 3 years ago

docker pull dogeorg/gigawallet