mirror of
https://github.com/yzernik/squeaknode.git
synced 2026-08-13 12:33:25 +02:00
Fix client server rpc connection (#16)
* Trying to get connection from sqkclient to sqkserver * Looks like connection from client to sqkserver may be working... * Got client server rpc request to work
This commit is contained in:
parent
b78e868f53
commit
c032b5be0f
8 changed files with 91 additions and 48 deletions
|
|
@ -6,6 +6,9 @@ RUN apt-get update && apt-get install -y \
|
|||
curl \
|
||||
git
|
||||
|
||||
# install nc
|
||||
RUN apt-get update && apt-get install -y netcat
|
||||
|
||||
COPY requirements.txt /
|
||||
|
||||
RUN pip3 install --upgrade pip
|
||||
|
|
|
|||
|
|
@ -87,6 +87,11 @@ runsqueaknodeclient \
|
|||
"--log-level"="$DEBUG" \
|
||||
init-db
|
||||
|
||||
echo "Checking if the server port is open"
|
||||
nc -zvw3 blockchain 18556
|
||||
nc -zvw3 sqkserver 50052
|
||||
echo "Done checking remote port"
|
||||
|
||||
exec runsqueaknodeclient \
|
||||
"--config"="config.ini" \
|
||||
"--log-level"="$DEBUG" \
|
||||
|
|
|
|||
|
|
@ -78,6 +78,7 @@ export REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
|
|||
# Generate the config file.
|
||||
chmod +x config.ini.sh
|
||||
./config.ini.sh $NETWORK $LND_HOST $LND_PORT $BTCD_HOST $BTCD_RPC_PORT $RPCUSER $RPCPASS $SQK_HOST $SQK_PORT > config.ini
|
||||
echo "config.ini:"
|
||||
cat config.ini
|
||||
|
||||
# # Initialize the client database.
|
||||
|
|
@ -86,7 +87,14 @@ cat config.ini
|
|||
# "--log-level"="$DEBUG" \
|
||||
# init-db
|
||||
|
||||
echo "$DEBUG:"
|
||||
echo $DEBUG
|
||||
|
||||
echo "Starting to run the python server here...."
|
||||
|
||||
exec runsqueaknodeserver \
|
||||
"--config"="config.ini" \
|
||||
"--log-level"="$DEBUG" \
|
||||
run-server
|
||||
|
||||
# exec ls
|
||||
|
|
|
|||
|
|
@ -99,9 +99,9 @@ services:
|
|||
- "btcd:blockchain"
|
||||
entrypoint: ["./start-lnd.sh"]
|
||||
|
||||
lnd_server:
|
||||
lnd_sqkserver:
|
||||
image: lnd
|
||||
container_name: lnd_server
|
||||
container_name: lnd_sqkserver
|
||||
build:
|
||||
context: ../
|
||||
dockerfile: docker/lnd/Dockerfile
|
||||
|
|
@ -113,11 +113,34 @@ services:
|
|||
- DEBUG
|
||||
volumes:
|
||||
- shared_test:/rpc
|
||||
- lnd_dir_server:/root/.lnd
|
||||
- lnd_dir_sqkserver:/root/.lnd
|
||||
links:
|
||||
- "btcd:blockchain"
|
||||
entrypoint: ["./start-lnd.sh"]
|
||||
|
||||
sqkserver:
|
||||
image: sqkserver
|
||||
container_name: sqkserver
|
||||
build:
|
||||
context: ../
|
||||
dockerfile: docker/sqkserver/Dockerfile
|
||||
environment:
|
||||
- RPCUSER
|
||||
- RPCPASS
|
||||
- NETWORK
|
||||
- CHAIN
|
||||
- DEBUG
|
||||
- HEADLESS
|
||||
volumes:
|
||||
- shared_test:/rpc
|
||||
- lnd_dir_sqkserver:/root/.lnd
|
||||
links:
|
||||
- "btcd:blockchain"
|
||||
- "lnd_sqkserver:lnd"
|
||||
sysctls:
|
||||
- net.ipv6.conf.all.disable_ipv6=0
|
||||
entrypoint: ["./start-sqkserver.sh"]
|
||||
|
||||
sqkclient_alice:
|
||||
image: sqkclient
|
||||
container_name: sqkclient_alice
|
||||
|
|
@ -137,6 +160,7 @@ services:
|
|||
links:
|
||||
- "btcd:blockchain"
|
||||
- "lnd_alice:lnd"
|
||||
- "sqkserver:sqkserver"
|
||||
sysctls:
|
||||
- net.ipv6.conf.all.disable_ipv6=0
|
||||
entrypoint: ["./start-sqkclient.sh"]
|
||||
|
|
@ -160,6 +184,7 @@ services:
|
|||
links:
|
||||
- "btcd:blockchain"
|
||||
- "lnd_bob:lnd"
|
||||
- "sqkserver:sqkserver"
|
||||
sysctls:
|
||||
- net.ipv6.conf.all.disable_ipv6=0
|
||||
entrypoint: ["./start-sqkclient.sh"]
|
||||
|
|
@ -183,33 +208,11 @@ services:
|
|||
links:
|
||||
- "btcd:blockchain"
|
||||
- "lnd_carol:lnd"
|
||||
- "sqkserver:sqkserver"
|
||||
sysctls:
|
||||
- net.ipv6.conf.all.disable_ipv6=0
|
||||
entrypoint: ["./start-sqkclient.sh"]
|
||||
|
||||
sqkserver:
|
||||
image: sqkserver
|
||||
container_name: sqkserver
|
||||
build:
|
||||
context: ../
|
||||
dockerfile: docker/sqkserver/Dockerfile
|
||||
environment:
|
||||
- RPCUSER
|
||||
- RPCPASS
|
||||
- NETWORK
|
||||
- CHAIN
|
||||
- DEBUG
|
||||
- HEADLESS
|
||||
volumes:
|
||||
- shared_test:/rpc
|
||||
- lnd_dir_server:/root/.lnd
|
||||
links:
|
||||
- "btcd:blockchain"
|
||||
- "lnd_alice:lnd"
|
||||
sysctls:
|
||||
- net.ipv6.conf.all.disable_ipv6=0
|
||||
entrypoint: ["./start-sqkserver.sh"]
|
||||
|
||||
test:
|
||||
image: test
|
||||
container_name: test
|
||||
|
|
@ -240,5 +243,5 @@ volumes:
|
|||
driver: local
|
||||
lnd_dir_carol:
|
||||
driver: local
|
||||
lnd_dir_server:
|
||||
lnd_dir_sqkserver:
|
||||
driver: local
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ class SqueakNodeClient(object):
|
|||
# Event is set when the client stops
|
||||
self.stopped = threading.Event()
|
||||
self.uploader = Uploader(self.hub_store, self.squeak_store, self.address)
|
||||
self.rpc_client = RPCClient('fake_host', 1234)
|
||||
self.rpc_client = RPCClient('sqkserver', 50051)
|
||||
|
||||
def start(self):
|
||||
# TODO: start the uploader and the downloader.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
import logging
|
||||
|
||||
import grpc
|
||||
|
||||
from squeaknode.common.rpc import squeak_server_pb2
|
||||
from squeaknode.common.rpc import squeak_server_pb2_grpc
|
||||
|
||||
from squeak.core.signing import CSigningKey
|
||||
from squeak.core.signing import CSqueakAddress
|
||||
|
||||
|
|
@ -30,3 +35,12 @@ class RPCClient(object):
|
|||
def upload_squeak(self, squeak):
|
||||
squeak_hash = squeak.GetHash()
|
||||
logger.info("Upload the squeak here.")
|
||||
|
||||
# Make the rpc request to the server.
|
||||
#channel = grpc.insecure_channel('localhost:50051')
|
||||
# channel = grpc.insecure_channel('{}:{}'.format(self.host, self.port))
|
||||
channel = grpc.insecure_channel('sqkserver:50052')
|
||||
stub = squeak_server_pb2_grpc.SqueakServerStub(channel)
|
||||
response = stub.SayHello(squeak_server_pb2.HelloRequest(name='rpc_client'))
|
||||
print("Greeter client received: " + response.message)
|
||||
logger.info("Greeter client received: " + response.message)
|
||||
|
|
|
|||
|
|
@ -40,9 +40,13 @@ class SqueakServerServicer(squeak_server_pb2_grpc.SqueakServerServicer):
|
|||
# )
|
||||
|
||||
def serve(self):
|
||||
print('Calling serve...', flush=True)
|
||||
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
|
||||
squeak_server_pb2_grpc.add_SqueakServicer_to_server(
|
||||
squeak_server_pb2_grpc.add_SqueakServerServicer_to_server(
|
||||
self, server)
|
||||
server.add_insecure_port('0.0.0.0:50051')
|
||||
print("server.add_insecure_port...", flush=True)
|
||||
server.add_insecure_port('0.0.0.0:50052')
|
||||
print("Starting SqueakServerServicer rpc server...", flush=True)
|
||||
server.start()
|
||||
print("Started SqueakServerServicer rpc server...", flush=True)
|
||||
server.wait_for_termination()
|
||||
|
|
|
|||
|
|
@ -31,14 +31,16 @@ def load_lightning_client(config) -> LightningClient:
|
|||
|
||||
|
||||
def start_rpc_server(handler):
|
||||
print('Calling start_rpc_server...', flush=True)
|
||||
server = SqueakServerServicer(handler)
|
||||
thread = threading.Thread(
|
||||
target=server.serve,
|
||||
args=(),
|
||||
)
|
||||
thread.daemon = True
|
||||
thread.start()
|
||||
return server, thread
|
||||
# thread = threading.Thread(
|
||||
# target=server.serve,
|
||||
# args=(),
|
||||
# )
|
||||
# thread.daemon = True
|
||||
# thread.start()
|
||||
# return server, thread
|
||||
server.serve()
|
||||
|
||||
|
||||
def load_handler(lightning_client):
|
||||
|
|
@ -83,6 +85,7 @@ def parse_args():
|
|||
|
||||
|
||||
def main():
|
||||
print("Running main() in server...", flush=True)
|
||||
logging.basicConfig(level=logging.ERROR)
|
||||
args = parse_args()
|
||||
|
||||
|
|
@ -106,25 +109,28 @@ def main():
|
|||
|
||||
|
||||
def run_server(config):
|
||||
print('network:', config['DEFAULT']['network'])
|
||||
print('network:', config['DEFAULT']['network'], flush=True)
|
||||
SelectParams(config['DEFAULT']['network'])
|
||||
|
||||
lightning_client = load_lightning_client(config)
|
||||
print('starting lightning client here...', flush=True)
|
||||
# lightning_client = load_lightning_client(config)
|
||||
# db_factory = load_db_factory(config)
|
||||
# node = load_client(blockchain_client, lightning_client, signing_key, db_factory)
|
||||
handler = load_handler(lightning_client)
|
||||
handler = load_handler(None)
|
||||
|
||||
# start rpc server
|
||||
rpc_server, rpc_server_thread = start_rpc_server(handler)
|
||||
start_rpc_server(handler)
|
||||
# rpc_server, rpc_server_thread = start_rpc_server(handler)
|
||||
# print("rpc server started...", flush=True)
|
||||
|
||||
signal.signal(signal.SIGTERM, sigterm_handler)
|
||||
# signal.signal(signal.SIGTERM, sigterm_handler)
|
||||
|
||||
print("Starting server...")
|
||||
try:
|
||||
while True:
|
||||
time.sleep(1)
|
||||
finally:
|
||||
print("Shutting down...")
|
||||
# print("sleeping....", flush=True)
|
||||
# try:
|
||||
# while True:
|
||||
# time.sleep(1)
|
||||
# finally:
|
||||
# print("Shutting down...", flush=True)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue