Commit graph

72 commits

Author SHA1 Message Date
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
Jonathan Zernik
531550bac8
Fix main docker-compose to connect to btcd with cert (#121) 2020-07-23 01:01:25 -07:00
yzernik
86f96dbdb8 Add missing links and volumes to sqkserver docker-compose 2020-07-23 00:37:00 -07:00
Jonathan Zernik
9658517380
Fix port for btcd in docker-compose (#120) 2020-07-22 22:30:29 -07:00
Jonathan Zernik
3d8a77cdaa
Run in main docker (#113)
* Docker-compose in main docker folder working

* Fix rpc host in start lnd script

* Remove link alias for btcd in btcctl

* Remove docker-compose links alias for btcd in lnd container

* Remove unused open ports in itest docker-compose

* Remove unused environment variabls from itest docker-compose

* Fix port conflicts between itest and docker docker foler docker-compose containers
2020-07-21 20:48:52 -07:00
Jonathan Zernik
2b762438ca
Remove buy template link in frontend (#102)
* Remove buy to unlock button in frontend

* Optimize frontend dockerfile
2020-07-21 02:11:13 -07:00
Jonathan Zernik
cead19b024
Optimize dockerfiles and update get wallet balance rpd method (#101) 2020-07-21 01:35:04 -07:00
Jonathan Zernik
446479c9df
Lnd get info from frontend (#100)
* Get lnd get_info from frontend

* Keep local copy of lnd.proto in source code in proto folder
2020-07-20 22:52:04 -07:00
Jonathan Zernik
4d84dcb90e
Use react material template for frontend (#98)
* Use react material design template for frontend

* Successfully make rpc request inside material design template

* Make rpc request in tables page

* Run react frontend in development mode for now

* successfully get squeaks in tables page

* Use production server in frontend dockerfile

* Update gitignore to ignore generated proto files

* Organize npm package
2020-07-20 19:43:15 -07:00
Jonathan Zernik
b4fa706f73
Use material ui (#97)
* Use material-ui

* Clean up frontend dockerfile
2020-07-20 02:30:51 -07:00
Jonathan Zernik
ebe9a2611e
Use react for frontend (#96)
* Use reactjs for frontend

* Add dependencies from gprc example to react app

* Got admin rpc request working inside react app

* Show message in react app with correct label
2020-07-20 01:29:12 -07:00
Jonathan Zernik
a45c3b62be
Add envoy proxy (#95)
* Add envoy proxy

* Add frontend, still not working

* Open port to frontend

* Fix static html page

* Fix url in client js code, but CORS is still blocked

* Successfully make request from browser to sqkserver through proxy

* Expose ports for sqkserver in docker

* Remove unused frontend files

* Remove duplicate envoy config file
2020-07-19 20:20:34 -07:00
Jonathan Zernik
404772372f
Add btcd credentials to sqkserver config (#81)
* Add btcd credentials and rpc cert to sqkserver configs

* Start the squeak block verifier worker thread on startup

* Btcd request still failing because of cert

* Got btcd client working

* Use valid block hash and height in itest
2020-07-18 17:19:43 -07:00
Jonathan Zernik
41de02983f
Organize proto files (#77)
* Organize proto files into top-level proto folder

* Use the new proto folder in test docker container

* Remove old proto files
2020-07-18 03:06:39 -07:00
Jonathan Zernik
0bef07e133
Add admin rpc server (#72)
* Add admin rpc server

* Use the admin rpc to get the balance of the server in itest
2020-07-16 22:56:37 -07:00
Jonathan Zernik
74817948cc
Use new squeak protocol (#64)
* Use new squeak protocol with encryption/decryption key instead of data key hash.

* Use from_bytes method for encrypted decryption key

* Undo changes to use temporary local install of squeaklib
2020-07-03 21:51:47 -07:00
Jonathan Zernik
6fd4940a0a
Use btcd btcctl test containers (#63)
* Use containers with test in name for btcd and btcctl

* Remove duplication of createdb script
2020-07-02 22:45:12 -07:00
Jonathan Zernik
2a88b51ec0
Simplify container names (#62)
* Rename docker lnd container

* Rename itest containers to avoid conflict with main containers
2020-07-02 22:28:26 -07:00
Jonathan Zernik
120befd511
Use persistent volume for db in docker-compose (#60) 2020-06-30 15:17:24 -07:00
Jonathan Zernik
80d67f0cd1
Fix external lnd host (#55) 2020-06-26 22:44:37 -07:00
Jonathan Zernik
1f19ab961b
Expose lnd port in docker compose (#54) 2020-06-26 03:07:00 -07:00
Jonathan Zernik
1fcd601bac
Fix lnd host config (#52)
* Fix lnd host config to not lookup ip by host

* Fix external lnd host
2020-06-26 02:33:30 -07:00
Jonathan Zernik
7dafb7ce2e
Fix macaroon path in docker config and change log level to info (#50) 2020-06-22 14:35:44 -07:00
Jonathan Zernik
21f3569887
Added lnd to docker compose (#49) 2020-06-22 13:55:20 -07:00
Jonathan Zernik
f939e9c81a
Use BACKEND param in lnd docker for bitcoin.node (#48) 2020-06-22 13:28:40 -07:00
Jonathan Zernik
e54de2b380
Make docker compose run (#45)
* Organize docker docker-compose file

* Got docker docker-compose working to start server with postgres db
2020-06-11 20:09:02 -07:00