horcrux-proxy

command module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 14, 2023 License: Apache-2.0 Imports: 1 Imported by: 0

README

Horcrux Proxy

horcrux-proxy is a proxy between a horcrux cosigner and one-to-many sentry nodes. This allows the Horcrux cosigner to be kept behind a private network connection so that the only outbound connections are to the other cosigners and the proxy.

This allows maintaining the configuration for the list of sentries that horcrux should connect to outside of the private horcrux process. As a benefit, the Horcrux Cosigner does not need to be restarted when adding new sentries for connection.

Additionally, horcrux-proxy will watch the config file for added and removed sentries so that the proxy does not need to be restarted either for changes in configuration.

Diagram

               +

               +                    +------------+
                                    |            |
               +             +----->|  Chain A   |
                             |      |   Sentry   |
               +             |      +------------+
                             |
+------------+ +   +---------+---+  +------------+
|            |     |             |  |            |
|  Horcrux   +---->|   Horcrux   +->|  Chain B   |
|  Cosigner  |     |    Proxy    |  |   Sentry   |
+------------+ +   +---------+---+  +------------+
                             |
               +             |      +------------+
                             |      |            |
               +             +----->|  Chain N   |
                                    |   Sentry   |
               +                    +------------+

               +

Quick Start

Run the following command to generate the config file:

horcrux-proxy config init --address tcp://0.0.0.0:1234 --node tcp://10.0.0.10:1234 --node tcp://10.0.0.11:1234 --node tcp://10.0.0.12:1234

The following config is generated at ~/.horcrux-proxy/config.yaml:

listenAddr: tcp://0.0.0.0:1234
chainNodes:
- privValAddr: tcp://10.0.0.10:1234
- privValAddr: tcp://10.0.0.11:1234
- privValAddr: tcp://10.0.0.12:1234

Start horcrux-proxy

horcrux-proxy start

Documentation

Overview

Copyright © 2023 Strangelove Ventures

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL