Porter can be described as the “Infura for TACo”. Porter is a web-based service that performs TACo-based protocol operations for applications.
Its goal is to simplify and abstract the complexities surrounding the TACo protocol to negate the need for applications to interact with it via a Python client. Porter introduces the TACo protocol to cross-platform functionality, including web and mobile applications.
Any publicly available Porter can be used to interface with the Threshold Network, or some application developers opt to run their own.

Running a Porter Instance

Security Considerations

  • HTTPS: To run the Porter service over HTTPS, it will require a TLS key and a TLS certificate.
  • CORS: Allowed origins for Cross-Origin Resource Sharing (CORS)
  • Authentication: Usage restriction via authentication protocols, e.g. basic authentication etc.
Ideally, you would run Porter behind a reverse proxy (e.g. nginx) for additional functionality such as HTTPS, CORS, authentication etc.

Run via Docker

By default, Porter runs on port 9155.
  1. 1.
    Get the latest porter image
    $ docker pull nucypher/porter:latest
  2. 2.
    Run Porter HTTP Service on port 80
    $ docker run -d --rm \
    --name porter \
    -v ~/.local/share/nucypher/:/root/.local/share/nucypher \
    -p 80:9155 \
    --restart=unless-stopped \
    nucypher/porter:latest \
    nucypher porter run \
    --eth-provider <YOUR WEB3 PROVIDER URI> \
    --network <NETWORK NAME>
    The command above is for illustrative purposes and can be modified as necessary.
  3. 3.
    Porter will be available on default port 80 (HTTP)
  4. 4.
    View Porter logs
    $ docker logs -f porter
  5. 5.
    Stop Porter service
    $ docker stop porter