All Projects → gnosis → safe-client-gateway

gnosis / safe-client-gateway

Licence: MIT license
Gateway service for Safe apps that serves transaction data conforming with the UI of our mobile apps

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to safe-client-gateway

dubbo-go-pixiu
Based on the proxy gateway service of dubbo-go, it solves the problem that the external protocol calls the internal Dubbo cluster. At present, it supports HTTP and gRPC[developing].
Stars: ✭ 385 (+1066.67%)
Mutual labels:  api-gateway, gateway
Tenso
Tenso is an HTTP REST API framework
Stars: ✭ 167 (+406.06%)
Mutual labels:  api-gateway, gateway
Ngr
A high-performance & enterprise-class edge gateway middleware
Stars: ✭ 89 (+169.7%)
Mutual labels:  api-gateway, gateway
Gravitee Gateway
Gravitee.io - API Management - OpenSource API Gateway
Stars: ✭ 1,123 (+3303.03%)
Mutual labels:  api-gateway, gateway
gateway
A high-performance API Gateway with middlewares, supporting HTTP and gRPC protocols.
Stars: ✭ 520 (+1475.76%)
Mutual labels:  api-gateway, gateway
Hgw
hgw是由gateway网关服务、manager控制服务构成的一套轻量级网关系统。目前支持http/https协议的服务控制
Stars: ✭ 81 (+145.45%)
Mutual labels:  api-gateway, gateway
Tree Gateway
This is a full featured and free API Gateway
Stars: ✭ 160 (+384.85%)
Mutual labels:  api-gateway, gateway
Go Microservices
Golang Microservices Example
Stars: ✭ 345 (+945.45%)
Mutual labels:  api-gateway, gateway
Goku Api Gateway
A Powerful HTTP API Gateway in pure golang!Goku API Gateway (中文名:悟空 API 网关)是一个基于 Golang开发的微服务网关,能够实现高性能 HTTP API 转发、服务编排、多租户管理、API 访问权限控制等目的,拥有强大的自定义插件系统可以自行扩展,并且提供友好的图形化配置界面,能够快速帮助企业进行 API 服务治理、提高 API 服务的稳定性和安全性。
Stars: ✭ 2,773 (+8303.03%)
Mutual labels:  api-gateway, gateway
Apilogs
Easy logging and debugging for Amazon API Gateway and AWS Lambda Serverless APIs
Stars: ✭ 216 (+554.55%)
Mutual labels:  api-gateway, gateway
Spring Thrift Api Gateway
Gateway for Apache Thrift requests processing that is built on Spring Cloud stack
Stars: ✭ 38 (+15.15%)
Mutual labels:  api-gateway, gateway
GatewayService
GatewayService (Ocelot).
Stars: ✭ 19 (-42.42%)
Mutual labels:  api-gateway, gateway
Easy Php
A Faster Lightweight Full-Stack PHP Framework 🚀
Stars: ✭ 754 (+2184.85%)
Mutual labels:  api-gateway, gateway
gluu-gateway
Gluu API 🚀 and Web Gateway 🎯
Stars: ✭ 29 (-12.12%)
Mutual labels:  api-gateway, gateway
Product Apim
Welcome to the WSO2 API Manager source code! For info on working with the WSO2 API Manager repository and contributing code, click the link below.
Stars: ✭ 508 (+1439.39%)
Mutual labels:  api-gateway, gateway
Dubbo Go Pixiu
Based on the proxy gateway service of dubbo-go, it solves the problem that the external protocol calls the internal Dubbo cluster. At present, it supports HTTP and gRPC[developing].
Stars: ✭ 124 (+275.76%)
Mutual labels:  api-gateway, gateway
Annon.api
Configurable API gateway that acts as a reverse proxy with a plugin system.
Stars: ✭ 306 (+827.27%)
Mutual labels:  api-gateway, gateway
Apioak
Full Lifecycle Management API Gateway.
Stars: ✭ 335 (+915.15%)
Mutual labels:  api-gateway, gateway
Product Microgateway
A cloud native, developer centric and decentralized API gateway for microservices
Stars: ✭ 194 (+487.88%)
Mutual labels:  api-gateway, gateway
api-gateway
Node.js API gateway that works as single entry point for all clients in a MicroService architecture pattern.
Stars: ✭ 26 (-21.21%)
Mutual labels:  api-gateway, gateway

Safe Client Gateway

Actions Status Coverage Status

Motivation

This project is a gateway between the Safe clients (Android/ iOS/ web) and the Safe backend services (transaction service and Ethereum nodes). It is providing a more UI-oriented mapping and multi-sourced data structures for ease of integration and rendering.

Documentation

Quickstart

This project requires rustup and redis

git clone https://github.com/gnosis/safe-client-gateway.git
cd safe-client-gateway
cp .env.sample .env
redis-server
cargo run
./add_rustfmt_git_hook.sh  # It installs a git precommit hook that will autoformat the code on every commit

After doing any change code must be formatted using Rustfmt

Configuration

Rocket specific configurations (including databases) can be configured via the Rocket.toml for local development (see https://rocket.rs/v0.4/guide/configuration/#rockettoml).

For configurations specific to this service the .env file can be used. See next section.

Environment

Place a .env file in the root of the project containing URL pointing to the environment in which you want the gateway to run.

The contents of the file should be the following (see .env.sample for an example)

Tests

In order to run the test suite of the project:

  1. Have an instance of Redis running (as some of them test the integration with Redis).
redis-server
  1. Make sure that the required environment variables are set (the following example assumes that Redis is runnning on the default port 6379):
export REDIS_URI=redis://localhost:6379
export REDIS_URI_MAINNET=redis://localhost:6379
  1. Run the tests
cargo test -- --test-threads 1

By default, cargo test will execute the tests in the test suite in parallel. Because some of the tests update some shared local state (eg.: environment variables) the tests should be executed on a single thread – thus --test-threads 1.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].