Skip to content

An open-source test application that aims to utilize Rafiki's functionalities and demonstrate its advantages in real-world scenarios.

License

Notifications You must be signed in to change notification settings

HessamMosleh/testnet

 
 

Repository files navigation

Test Network

Test wallet picture

What is Test Network?

Test Network is an open Interledger network working with test money designed for account servicing entities to test their Interledger integration.

Test Network currently includes an Interledger Test Wallet application, an e-commerce application and in the near future, a bank application.

If you are curious about the Interledger Test Wallet architecture diagram, then follow this link.

See Test Network in action:

What is Rafiki?

Rafiki is an open-source package that exposes a comprehensive set of Interledger APIs. It's intended to be run by wallet providers, allowing them to offer Interledger functionality to their users.

New to Interledger?

Never heard of Interledger before, or you would like to learn more? Here are some good places to start:

Contributing

Please read the contribution guidelines before submitting contributions. All contributions must adhere to our code of conduct.

Local Development Environment

Prerequisites

Environment Setup

# Install Node 20
nvm install lts/iron
nvm use lts/iron

# Install pnpm using Corepack
corepack enable

If you do not have corepack installed locally you can use npm or yarn to install pnpm:

npm install pnpm -g
# or
yarn install pnpm -g

For alternative methods of installing pnpm, you can refer to the official pnpm documentation.

To install dependencies, execute:

pnpm i

Environment Variables

In order for the Test Wallet and Test e-commerce playground to function, it is necessary to configure the environment variables appropriately. You must duplicate the example environment file, .env.example, into your local environment file, .env.

Note The local environment file (.env) is NOT tracked in the version control system, and should NOT be included in any commits.

Navigate to the project's root directory and enter the following command:

cp ./docker/dev/.env.example ./docker/dev/.env

Using your preferred text editor, open the ./docker/dev/.env file and configure the necessary environment variables. The RAPYD_ACCESS_KEY and RAPYD_SECRET_KEY variables values can be found in your Rapyd Sandbox account (you need to create an account at rapyd.net), under the Developers menu item. The RAPYD_SETTLEMENT_EWALLET variable value can be found in your Rapyd Sandbox account details.

To create a new Interledger Test Wallet account, a verification email will be sent to the provided email address. If you want to send emails within the development environment, you will need to have a personal Sendgrid account and update the following environment variables: SEND_EMAIL to true, SENDGRID_API_KEY and FROM_EMAIL. If you prefer not to send emails in the development environment, simply set SEND_EMAIL to false and use the verification link found in the Docker wallet-backend container logs to finalize the registration process for a new user.

Cross-currency transactions are supported. To enable this functionality, you will need to register at freecurrencyapi.com/ and update the RATE_API_KEY environment variable with your own API key. Currencies can be added in the admin environment. For example assetCode is EUR, assetScale is 2, and you will need to add an amount to liquidity.

To have everything ready for DEV environment, we already set up some default values for Interledger Test Wallet, this way developers are ready to login without validation, and test e-commerce application without any additional setup:

  • a USD asset set by default in the admin environment
  • a user with email address [email protected] and password 123456, with a USD account, payment pointer and test money
  • a user with email address [email protected] and password 123456, with a USD account and a payment pointer boutique, which is used as a receiver payment pointer at the e-commerce application
  • developer keys for the boutique payment pointer, these values will be copied to .env file from .env.example, as mentioned above

If you would like to set up e-commerce application manually for another payment pointer, you will need to create a USD payment pointer, then generate public and private key for the payment pointer in the Developer Keys found in the Settings menu of Interledger Test Wallet. You also need to update the following environment variables: PRIVATE_KEY to the generated base64 encoded private key, KEY_ID to the payment pointer key id and PAYMENT_POINTER to the created payment pointer address.

Local Playground

Navigate to the project's root directory and execute:

pnpm dev

Upon executing the above command, the following will be available

About

An open-source test application that aims to utilize Rafiki's functionalities and demonstrate its advantages in real-world scenarios.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 97.3%
  • JavaScript 2.6%
  • Other 0.1%