• This repository has been archived on 30/Jun/2021
  • Stars
    star
    323
  • Rank 130,051 (Top 3 %)
  • Language
    Elixir
  • License
    Apache License 2.0
  • Created almost 7 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

eWallet Backend for the OmiseGO SDKs.

OmiseGO eWallet Server

OmiseGO eWallet Server is a server application in OmiseGO eWallet Suite that allows a provider (businesses or individuals) to setup and run their own digital wallet services through a local ledger, and to a decentralized blockchain exchange in the future to form a federated network on the OMG network allowing exchange of any currency into any other in a transparent way.

Getting started

The quickest way to get OmiseGO eWallet Server running on macOS and Linux is to use Docker-Compose.

  1. Install Docker and Docker-Compose

  2. Download OmiseGO eWallet Server's docker-compose.yml:

    curl -O -sSL https://raw.githubusercontent.com/omisego/ewallet/master/docker-compose.yml
  3. Create docker-compose.override.yml either manually or use this auto-configuration script:

    curl -O -sSL https://raw.githubusercontent.com/omisego/ewallet/master/docker-gen.sh
    chmod +x docker-gen.sh
    ./docker-gen.sh > docker-compose.override.yml
    
  4. Initialize the database and start the server:

    docker-compose run --rm ewallet initdb
    docker-compose run --rm ewallet seed
    docker-compose up -d
    

Encountered a problem during the installation? See the Setup Troubleshooting Guide.

For other platforms or a more advanced setup, see alternative installation below.

Alternative installation

Upgrade

See Upgrading the eWallet Server.

Commands

Docker image entrypoint is configured to recognize most commands that are used during normal operations. The way to invoke these commands depend on the installation method you choose.

  • In case of Docker-Compose, use docker-compose run --rm ewallet <command>
  • In case of Docker, use docker run -it --rm omisego/ewallet <command>
  • In case of bare metal, see also bare metal installation instruction.

initdb

For example:

  • docker-compose run --rm ewallet initdb (Docker-Compose)
  • docker run -it --rm omisego/ewallet:latest initdb (Docker)

These commands create the database if not already created, or upgrade them if necessary. This command is expected to be run every time you have upgraded the version of OmiseGO eWallet Suite.

seed

For example:

  • docker-compose run --rm ewallet seed (Docker-Compose)
  • docker run -it --rm omisego/ewallet:latest seed (Docker)

These commands create the initial data in the database. If seed is run without arguments, the command will seed initial data for production environment. The seed command may be configured to seed with other kind of seed data:

  • seed --sample will seed a sample data suitable for evaluating OmiseGO eWallet Server.
  • seed --e2e will seed a data for end-to-end testing.
  • seed --settings will seed the application settings for the OmiseGO eWallet Server.

config

For example:

  • docker-compose run --rm ewallet config <key> <value> (Docker-Compose)
  • docker run -it --rm omisego/ewallet:latest config <key> <value> (Docker)

These commands will update the configuration key (see also settings documentation) in the database. For some keys which require whitespace, such as gcs_credentials, you can prevent string splitting by putting them in a single or double-quote, e.g. config gcs_credentials "gcs configuration".

Documentation

All documentations can found in the docs directory. It is recommended to take a look at the documentation of the OmiseGO eWallet Server you are running.

API documentation

OmiseGO eWallet Server is meant to be run by the provider, and thus API documentation is available in the OmiseGO eWallet Server itself rather than as online documentation. You may review the API documentation at the following locations in the OmiseGO eWallet Server setup.

  • /api/admin/docs.ui for Admin API, used by server apps to manage tokens, accounts, transactions, global settings, etc.
  • /api/client/docs.ui for Client API, used by client apps to create transaction on behalf of user, user's settings, etc.

In case you want to explore the API documentation without installing the OmiseGO eWallet Server, you may use our OmiseGO eWallet Staging. Please note that OmiseGO eWallet Staging tracks development release and there might be API differences from the stable release.

SDKs

These are SDKs for integrating with the OmiseGO eWallet Server. For example, to integrate a loyalty point system built on OmiseGO eWallet Server into an existing system.

It is also possible to run OmiseGO eWallet Server in a standalone mode without needing to integrate into an existing system. These apps demonstrate the capabilities of the OmiseGO eWallet Server as a physical Point-of-Sale server and client.

Community Efforts

We are thankful to our community for creating and maintaining these wonderful works that we otherwise could not have done ourselves. If you have ported any part of the OmiseGO eWallet Server to another platform, we will be happy to list them here. Submit us a pull request.

Contributing

Contributing to the OmiseGO eWallet Server can be contributions to the code base, bug reports, feature suggestions or any sort of feedback. Please learn more from our contributing guide.

Support

The OmiseGO eWallet Server team closely monitors the following channels.

  • GitHub Issues: Browse or file a report for any bugs found
  • Gitter: Discuss features and suggestions in real-time
  • Stack Overflow: Search or create a new question with the tag omisego

If you need enterprise support or hosting solutions, please get in touch with us for more details.

License

The OmiseGO eWallet Server is licensed under the Apache License

More Repositories

1

plasma-mvp

OmiseGO's research implementation of Minimal Viable Plasma
Python
564
star
2

elixir-omg

OMG-Network repository of Watcher and Watcher Info
Elixir
210
star
3

plasma-cash

Python
122
star
4

plasma-contracts

Root chain contracts for Plasma
JavaScript
113
star
5

airdrop

Python
83
star
6

research

43
star
7

omg-js

JavaScript Library for communication with OMG network
JavaScript
42
star
8

optimism-v2

ARCHIVE of monorepo implementing Boba, an L2 Compute solution built on Optimistic Ethereum - active repo is at https://github.com/bobanetwork/boba
Go
40
star
9

ios-sdk

OmiseGO iOS SDK for integrating with eWallet Server.
Swift
31
star
10

ex_ulid

Universally Unique Lexicographically Sortable Identifier (ULID) in Elixir
Elixir
29
star
11

web-wallet

JavaScript
24
star
12

android-sdk

OmiseGO Android SDK for integrating with Wallet API Server.
Kotlin
18
star
13

sample-ios

Sample iOS application for loyalty point server and OmiseGO Wallet Server.
Swift
15
star
14

honted

OmiseGO node on Tendermint.
Elixir
12
star
15

community-points

Community points monorepo
JavaScript
11
star
16

js-starter-kit

Vue
11
star
17

ex_plasma

Elixir library for the OMG Plasma Contracts Transaction Format
Elixir
10
star
18

dev-portal

OmiseGO Developers Portal
JavaScript
8
star
19

salty

Elixir wrapper for enacl and libsodium.
Elixir
8
star
20

plasma-cli

Go
8
star
21

ruby-sdk

OmiseGO Ruby SDK for integration with Wallet Server.
Ruby
8
star
22

pos-client-android

Kotlin
7
star
23

sample-server

OMGShop, a.k.a Sample Server: sample loyalty points with OmiseGO eWallet Server integration.
Ruby
6
star
24

potterhat

Like Babel fish but you canโ€™t put into your ears
Elixir
6
star
25

pos-merchant-android

Kotlin
6
star
26

OIP

OmiseGO Improvement Proposal
6
star
27

sample-android

Sample Android application for loyalty point server and OmiseGO Wallet Server.
Kotlin
6
star
28

omg-childchain-v2

pronounced /Ch-ch/
Elixir
5
star
29

omg-samples

OMG Network code samples
4
star
30

specs

OMG Network Specs, Integration, Performance, Stress Testing
Elixir
4
star
31

goban

Development environment bootstrapper for OmiseGO projects using Vagrant and Ansible.
Shell
4
star
32

omg-js-samples

Code samples for omg-js library
JavaScript
3
star
33

omgx_wallet

web wallet for OMGX
JavaScript
3
star
34

omg-block-explorer

a mysterious place where you can see transactions data.
JavaScript
3
star
35

pos-client-ios

Swift
3
star
36

pos-merchant-ios

Swift
3
star
37

roadmap

2
star
38

quasar-services

JavaScript
1
star
39

boba-mainnet-addresses

[Boba Network]Mainnet Contract Addresses
1
star
40

omg-quasar-js

JavaScript
1
star
41

safe-gnosis

A full service docker compose setup and container building repo
Shell
1
star
42

omg-js-testrunner

Dockerfile
1
star
43

omgx_contracts

OMGX smart contracts
TypeScript
1
star
44

xomg-vagrant

Vagrant setup for elixir-omg
Shell
1
star
45

omgnetwork.github.io

Developer Portal for OMG Network
HTML
1
star
46

e2e

Acceptance Tests for eWallet.
RobotFramework
1
star
47

contractexchanger

Python
1
star
48

mobile-wallet

JavaScript
1
star
49

omgx_contracts-analyzer

ARCHIVED - see /omgnetwork/optimism/packages/omgx for the active repo. Sushi on OMGX - An example of contract changes needed to run a non-trivial system on OMGX
Solidity
1
star