- Gateway Kit
- POKT
- Sign-in-with-Ethereum
- Postgres
- Prisma
- Prometheus
The PORTERS POKT RPC Gateway is build using golang for proxy, javascript for the frontend and backend. The portal, consisting of frontend and backend, requires node.js and you may follow our implementation design by using pnpm
for package management, however, you may use other package managers if you desire.
- required environment variables (can set in .env for
docker compose
)API_ENDPOINT
: build arg for frontend to backend APINEXT_PUBLIC_WALLETCONNECT_PROJECT_ID
: walletconnect project IDPROM_URL
: URL to Prometheus metrics api (scraped from instances)PROM_TOKEN
: Auth token for accessing Prometheus metricsDATABASE_URL
: connection string for postgres database (portal schema)ONEINCH_API_KEY
: key for price data from 1inchOX_API_KEY
: key for 0x protocol for swapsRPC_KEY
: RPC key for event listenerSESSION_SECRET
: Encryption secret for SIWE sessionsHOST
: RPC proxy host that wildcard subdomain is attached toJOB_BUFFER_SIZE
: size of worker poolNUM_WORKERS
: count of workers for poolREDIS_URL
: connection string to Redis instancePROXY_TO
: base URL of Gateway ServerALTRUIST_REQUEST_TIMEOUT
: see Gateway Server docsCHAIN_NETWORK
: see Gateway Server docsEMIT_SERVICE_URL_FROM_METRICS
: see Gateway Server docsENVIRONMENT_STAGE
: see Gateway Server docsHTTP_SERVER_PORT
: see Gateway Server docsPOKT_RPC_TIMEOUT
: see Gateway Server docsSESSION_CACHE_TTL
: see Gateway Server docsAPI_KEY
: see Gateway Server docsDB_CONNECTION_URL
: postgres connection string (gateway server schema)POKT_APPLICATIONS_ENCRYPTION_KEY
: see Gateway Server docsPOKT_RPC_FULL_HOST
: see Gateway Server docs
- docker compose
- allows for shorter dev iteration (over docker)
See the justfile for further information. You can run the just commands to see which components you can run how.
- justfile
just build
to buildjust
to list other available commands- run from root directory or navigate into specific components
Once you installed the PORTERS POKT RPC Gateway, you can use the PORTERS portal for generating RPC endpoints.
In the proxy is the file main.go
that is used for configuration. It allows you to configure rate limiting and other core functionalities of an RPC service.
We welcome contributions from outside contributors. For contributing, please fork the repository and open a pull request with the proposed changes.
All contributions shall be made to the develop
branch. Contributions may then be merged into master
.
In the future, more stringent contribution rules may be put in place at the sole descretion of the PORTERS core team.
- MIT Licence