Commit graph

97 commits

Author SHA1 Message Date
Jonathan Zernik
a43576a10e
Use bitcoincore for bitcoin node (#481)
* Got docker-compose working with bitcoin-core

* Got itest working

* Add bitcoin use_ssl config

* Rename service to bitcoin-core in docker-compose
2020-11-23 14:43:17 -05:00
Jonathan Zernik
cbd7a8b2a7
Use testnet by default (#477) 2020-11-22 22:55:58 -05:00
Jonathan Zernik
7195174a8b
Rename common module to lightning (#439) 2020-11-10 18:50:33 -05:00
Jonathan Zernik
6641e64995
Use msat as price unit (#427)
* Use price_msat for config and internally

* Use price_msat in admin protocol for offer message

* Use price_msat in sent payments table and protocol

* Update frontend to use new protocol with price_msat for offer

* Update static build
2020-11-10 02:35:24 -05:00
Jonathan Zernik
53fa118f20
Remove max squeaks config from docker config.ini (#426) 2020-11-09 23:12:22 -05:00
Jonathan Zernik
05e03a5979
Fix sync interval s config (#425) 2020-11-09 22:56:08 -05:00
Jonathan Zernik
2a0e861fb2
Add sync_interval_s config (#424) 2020-11-09 22:39:06 -05:00
Jonathan Zernik
1a80c39c9b
Remove unnecessary clone of googleapis for proto gneration (#403) 2020-11-06 23:26:31 -05:00
Jonathan Zernik
c3a5740bbb
Remove old unused comments from dockerfile (#399) 2020-11-06 13:14:10 -05:00
Jonathan Zernik
dbc99925cc
Make log level configurable (#394) 2020-11-05 18:37:32 -05:00
Jonathan Zernik
8c4db6f85a
Rename squeaknode docker container (#377) 2020-11-04 23:35:32 -05:00
Jonathan Zernik
724f72f1e5
Use more config defaults (#376)
* Use default configs for webadmin

* Remove sqlite config from config file

* Use default config for sqk dir

* Use derived default lnd tls cert path in config

* Use default config for macaroon path

* Remove macaroon path config from docker config.ini

* Got mainnet working in docker

* Update readme

* Remove unused network param in docker config.ini file

* Update readme
2020-11-04 23:18:04 -05:00
Jonathan Zernik
225cd7fdf1
Use better config defaults (#375)
* Use default ports for bitcoin rpc

* Use default configs for lnd ports

* Use default configs for server host/port and admin host/port
2020-11-04 21:24:04 -05:00
Jonathan Zernik
7f8b71841f
Use env var to set use_ssl, login_disabled and allow_cors configs (#355) 2020-11-01 13:25:12 -05:00
Jonathan Zernik
927299cef0
Allow frontend testing without login (#345)
* Frontend testing working in dev mode

* Make login_disabled and cors configs configurables

* Update frontend readme
2020-10-29 18:22:01 -04:00
Jonathan Zernik
99ddc2df77
Rename to squeaknode (#342)
* Rename squeakserver to squeaknode and get itest passing

* Fix itest dockerfile

* Rename more squeakserver to squeaknode

* Rename database from squeakserver to squeaknode

* Update readme

* Remove frontend/build from git

* Rename squeakserver to squeaknode in tox and main
2020-10-29 14:35:17 -04:00
Jonathan Zernik
400d7faf5c
Use host machine volumes for lnd and sqk (#337) 2020-10-29 01:39:15 -04:00
Jonathan Zernik
bac8d27072
Fix external lnd host env (#332)
* Fix lnd external host env

* Open port 9735 on lnd host in docker
2020-10-28 15:58:19 -04:00
Jonathan Zernik
0be9ade5ad
Include static react assets in setup install (#330)
* Include react build assets in static folder in setup install

* Remove comments from flask app startup
2020-10-28 15:00:21 -04:00
Jonathan Zernik
cf4699d6f8
Remove unused proto dir copy in dockerfile (#329) 2020-10-28 14:48:49 -04:00
Jonathan Zernik
287d0f34ca
Simplify sqkserver docker (#327)
* Simplify sqkserver docker by copying entire repository to image

* Got flask templates working without custom root path

* Remove unused comment in setup.py
2020-10-27 01:04:48 -04:00
Jonathan Zernik
5c4bfbc076
Remove frontend docker (#326) 2020-10-26 22:13:43 -04:00
Jonathan Zernik
478fdc944d
Build frontend outside docker (#325)
* Build frontend outside docker and commit in git

* Update sqkserver dockerfile to use build folder from host

* Add makebuild script to frontend folder
2020-10-26 21:59:40 -04:00
Jonathan Zernik
5292a15884
Remove other node from docker-compose (#323) 2020-10-25 15:35:17 -04:00
Jonathan Zernik
79d7a45e32
Use authentication for web app (#321)
* Require authentication for web app index page

* Got template working for login page

* Got fake login working

* Add logout endpoint

* Remove old comment

* Got login working

* Remove log lines
2020-10-24 23:13:16 -04:00
Jonathan Zernik
537bb8439b
Use ssl for flask server (#319)
* Use ssl for flask server

* Use window location protocol to get https or http in frontend

* Make use_ssl configurable

* Remove log port in frontend
2020-10-24 18:04:56 -04:00
Jonathan Zernik
9ed4d79c78
Use host volume for btcd data (#318) 2020-10-24 14:12:32 -04:00
Jonathan Zernik
ce31be284d
Build frontend code in sqkserver dockerfile (#317) 2020-10-24 11:31:10 -04:00
Jonathan Zernik
f321785d60
Change default web server port (#316) 2020-10-23 22:22:34 -04:00
Jonathan Zernik
ee27bcb6ee
Add config to enable admin web server (#315) 2020-10-23 21:31:06 -04:00
Jonathan Zernik
6f8e556bcf
Make web server port configurable (#314)
* Make host and port for web server configurable

* Add webadmin host and port to config file

* Use current host and port in web frontend

* Remove envoy and frontend from docker compose

* Remove envoy

* Remove unused postgres docker volume
2020-10-23 21:16:50 -04:00
Jonathan Zernik
d3d7e6e604
Add admin web server (#310)
* Add basic flask web server

* Use ubuntu as docker base image for frontend docker build

* Got web frontend server running inside sqkserver

* Got client request throught flask working

* Refactor makerequest function in frontend

* Support sending request to flask server

* Use request and reply in flask for set profile sharing method

* Handle request object in flask for get followed squeaks route

* Use flask endpoint for lnd getinfo

* Use flask endpoint for walletbalance

* Use flask for gettransactions endpoint

* Use flask endpoint for lnd methods

* Add set profile properties methods to flask

* Move request, response protobuf to handler class

* Move request, reply inside handler for get signing profiles

* Move request, reply to handler for get contact profiles

* Move request, reply to handler for get squeak profile

* Move request reply for get profile by address to handler

* Move request reply to handler for set profile attributes

* Move request reply to handler for delete profile

* Move request reply for make squeak to handler

* Move request reply to handler for get squeak display

* Move request reply to get address squeak displays

* Move request reply to handler for ancestor squeaks

* Move request reply to handler for delete squeak

* Move request reply to handler for create peer and get peer

* Move request reply to handler for peer set attributes

* Move request reply to handler for more methods

* Move request reply to handler for another method

* Move request reply to handler for more methods

* Move more request reply to handler

* Move request reply to handler for all methods

* Remove message conversion helper methods from servicer class

* Remove duplicate protobuf conversion functions

* Fix flask handling of requests

* Remove old protobuf conversion methods in comments

* Use helper method to simplify web server routes functions
2020-10-22 22:52:40 -04:00
Jonathan Zernik
4d5482af3b
Wait for lnd tls cert to exist in docker volume before start sqkserver (#288) 2020-10-13 12:22:34 -07:00
Jonathan Zernik
92a77ce7bb
Add subscribe channel events rpc (#283)
* Add subscribe channel events rpc

* Upgrade lnd to 0.11.1 (#284)

* Got test working for open and close channel with subscriptions
2020-10-11 07:01:35 -07:00
Jonathan Zernik
f6f03b2a0f
Upgrade lnd to 0.11.1 (#284) 2020-10-11 05:33:29 -07:00
Jonathan Zernik
8b9f87990d
Show peer connection in lightning node (#280)
* Show peer connection status for lightning node

* Add connect peer button to lightning node page

* Add test for connect peer

* Add working test for list peers and connect peer

* Add test for disconnect peer

* Fix sqk dir config

* Fix sqk_dir config

* Successfully connect to sqkserver_other in docker-compose

* Remove unused dialog from lightning node page
2020-10-09 05:55:32 -07:00
Jonathan Zernik
377eaa62d5
Add receive bitcoin button (#262)
* Add receive bitcoin button

* Add new address rpc method

* Successfully show new address in dialog in wallet

* Make address field in new address dialog read only
2020-09-28 02:02:42 -07:00
Jonathan Zernik
9aef37bd71
Update docker compose yaml (#259)
* Use sqlite for squeak node in docker compose

* Include other sqkserver in docker docker-compose

* Use second instance of squeak node in docker compose

* Remove old log line
2020-09-27 14:54:34 -07:00
Jonathan Zernik
a97b1a6cc8
Build python protos in setup (#254)
* Generate python proto files in setup.py

* Generate python protos in setup.py install

* Update readme
2020-08-20 04:41:35 -07:00
Jonathan Zernik
1681776ebe
Use sqlite (#253)
* sqlite db engine works in itest

* Remove unused comment

* Use integer for invoice timestamp and invoice expir

* Fix insert offer

* Remove show tables in queries
2020-08-20 03:33:37 -07:00
Jonathan Zernik
ceca429d78
Use configurable engine for db (#251)
* Use configurable engine in db class constructor

* Remove unused tables in db class

* Rename squeak db class

* Remove load db params comment
2020-08-19 23:14:45 -07:00
Jonathan Zernik
af0ffca75a
Add peer sync (#214)
* Add peer sync controller class

* Got sync downloader with remote connection working

* Got lookup hashes to download working in sync downloader

* Add peer sync status class

* Check stopped event flag before continuing with download

* Got peer download running in a separate thread for each peer

* Rename peer download class

* Fix get current download in sync status

* Add peer upload thread

* Got peer upload working

* Got peer download working

* Display different message in frontend when squeak is locked

* Change default quota for upload rate limit
2020-08-04 00:54:14 -07:00
Jonathan Zernik
087e68eb0b
Change sqkserver log level in docker (#210) 2020-08-02 23:11:06 -07:00
Jonathan Zernik
bb4e4d0c00
Add subscription page and go to it from click on subscription row in table (#195) 2020-08-01 15:30:19 -07:00
Jonathan Zernik
4cb447eb0c
Update docker config.ini file (#193) 2020-08-01 14:59:41 -07:00
Jonathan Zernik
7c4b84056b
Use created time for rate limiter (#178)
* Use created time to rate limit based on last hour

* Delete commented lines in rate limiter
2020-07-30 03:05:21 -07:00
Jonathan Zernik
3c13fa01af
Use pytest for itest (#161)
* Use pytest for itest

* Use pytest for itests
2020-07-28 19:49:44 -07:00
Jonathan Zernik
b207469046
Add max squeak per block config (#159)
* Add max squeaks per block per address config

* Add rate limiter class

* Check rate limiter in squeaknode before saving squeak

* Got working itest with rate-limited requests
2020-07-28 01:10:04 -07:00
Jonathan Zernik
e5fd3cd066
Rename frontend code folder to squeak-node-frontend (#152) 2020-07-26 15:50:06 -07:00
Jonathan Zernik
bac577b792
Use volume for postgres db (#122) 2020-07-23 01:02:57 -07:00