- Contains the 3 servers that is currently written in Rust:
tss_share_2_server,tss_client_serverandtss_sm_manager. The componentTx Senderin the following diagram is implemented in Nodejs and is maintained here: https://github.com/FDC-AI/open-defender/tree/develop/packages/tss-tx-sender - The ZenGo library
multi-party-ecdsais referred to as submodule tss_sm_clientis used as a functional library, no main function. It's used byshare_2_serverandclient_server
https://documenter.getpostman.com/view/12538945/2s93CPqXMu
- Step 2 is done by RabbitMQ with queue name:
request-@open-defender/tss-tx-sender: share-2-server-keygen-signal(config in.env)
- Step 3 is done by RabbitMQ with queue name:
request-@open-defender/tss-tx-sender: share-2-server-sign-signal(config in.env)
cd tss_client_server
cargo run- the api is
/new-key - send key gen request to tx sender api
/new-key - after receiving the response ack from share 2, talk to sm manager to participate key gen, and get the local-share key
- the api is
/send-tx - send tx request to tx-sender api
/request-tx - if the response says the simulation succeeded, talk to sm manager to contribute to signature
cd tss_share_2_server
cargo run- consuem the key gen signal from the queue
- talk to sm manager to participate key gen, and save the resulting local-share key for corresponding user
- consume the sign signal from the queue
- signature can be generated from sm manager
- call tx sender api
/submit-txand the signature will be written into its db
cd tss_sm_manager
cargo runJust react to whatever requests come from client server and share 2 server

