Skip to content
A turtlecoin web wallet WIP
Branch: master
Clone or download
Pull request Compare This branch is 1 commit ahead of anonanonymous:master.
anonanonymous Merge pull request #8 from anonanonymous/master
pulling tx history, captcha, and ratelimiter from shellnet.pw
Latest commit 6127931 Apr 29, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Update forking-guide.md Nov 25, 2018
services seeing double Apr 27, 2019
.gitmodules remove walletd-ha Sep 10, 2018
LICENSE Initial commit Jul 23, 2018
README.md update readme Apr 25, 2019
transaction_db.sql Update transaction_db.sql Nov 20, 2018
user_db.sql update readme.md Sep 28, 2018

README.md

Shellnet

screenshot

Setup on Ubuntu 16.04+

Install the required packages.
sudo apt install git postgresql postgresql-contrib redis-server
Install golang-1.10

Don't forget to make your GOPATH export persistent.

Install the necessary go libraries

go get \
	github.com/gomodule/redigo/redis \
	github.com/julienschmidt/httprouter \
	github.com/lib/pq \
	github.com/opencoff/go-srp \
	github.com/ulule/limiter \
	github.com/ulule/limiter/drivers/middleware/stdlib \
	github.com/ulule/limiter/drivers/store/memory \
	github.com/dchest/captcha

Clone the Shellnet repo in your ${GOPATH}/src.

Postgres Setup

Configure postgres user

Setup user database
~$ cat user_db.sql | psql -U <username> -h <host>
Setup transactions database
~$ cat transaction_db.sql | psql -U <username> -h <host>

Setup Turtlecoin service

Run this once to generate a wallet container. ~$ ./turtle-service --container-file <container name> -p <password> -g

Point turtle-service at an existing daemon like this ~$ ./turtle-service --rpc-password <rpc password> --container-file <container name> -p <container password> -d --daemon-address <daemon DNS or IP address> --daemon-port <daemon port>

Start redis-server

Configure and start run scripts

Edit these files:

  • services/main/run.sh
#!/usr/bin/env bash
HOST_URI='https://shellnet.pw' \ # Web wallet address
HOST_PORT=':8080' \ # Internal server port
USER_URI='http://localhost:8081' \ # Internal requests to user api
WALLET_URI='http://localhost:8082' \ # Internal requests to wallet api
go run main.go utils.go
  • services/wallet/run.sh
#!/usr/bin/env bash
DB_USER=<postgres username> \ # Postgres DB username, NOT system account username
DB_PWD=<postgres password> \ # Postgres DB password, NOT system account password
HOST_URI='http://localhost' \ # Internal wallet api
HOST_PORT=':8082' \ # Internal wallet api port
RPC_PWD=<turtle-service RPC password>  \ # Your turtle-service RPC password
RPC_PORT=':8070' \ # Your turtle-service RPC port
go run wallet.go utils.go
  • services/user/run.sh
#!/usr/bin/env bash
DB_USER=<postgres username> \ # Postgres DB username, NOT system account username
DB_PWD=<postgres password> \ # Postgres DB password, NOT system account password
HOST_URI='http://localhost' \ # Internal user api
HOST_PORT=':8081' \ # Internal user api port
WALLET_URI='http://localhost:8082' \ # Internal wallet api
go run users.go utils.go

~$ cd services/main ; ./run.sh & disown
~$ cd services/wallet ; ./run.sh & disown
~$ cd services/user ; ./run.sh & disown

Todo

  • Finish walletd integration
  • Make Front-end pretty
  • add documentation
  • automate tasks
  • add tests

Dependencies

  • Redis
  • Postgresql
  • Go
  • TurtleCoin wallet daemon
You can’t perform that action at this time.