{"id":18645862,"url":"https://github.com/interledger/testnet","last_synced_at":"2025-04-05T00:07:47.247Z","repository":{"id":65486701,"uuid":"590505599","full_name":"interledger/testnet","owner":"interledger","description":"An open-source test application that aims to utilize Rafiki's functionalities and demonstrate its advantages in real-world scenarios.","archived":false,"fork":false,"pushed_at":"2025-03-31T22:59:26.000Z","size":14485,"stargazers_count":117,"open_issues_count":27,"forks_count":21,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-03-31T23:29:58.802Z","etag":null,"topics":["hacktoberfest","ilp","interledger","open-payments","rafiki"],"latest_commit_sha":null,"homepage":"https://wallet.interledger-test.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/interledger.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/contributing.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-18T15:15:32.000Z","updated_at":"2025-03-24T14:19:14.000Z","dependencies_parsed_at":"2023-11-17T23:55:55.202Z","dependency_job_id":"ab018c74-b760-4bca-89f3-cb1ca2eab275","html_url":"https://github.com/interledger/testnet","commit_stats":{"total_commits":1291,"total_committers":30,"mean_commits":43.03333333333333,"dds":0.372579395817196,"last_synced_commit":"63a0066d32beea4785f33613c09105f9401644c5"},"previous_names":[],"tags_count":64,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interledger%2Ftestnet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interledger%2Ftestnet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interledger%2Ftestnet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interledger%2Ftestnet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/interledger","download_url":"https://codeload.github.com/interledger/testnet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247266563,"owners_count":20910836,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","ilp","interledger","open-payments","rafiki"],"created_at":"2024-11-07T06:17:29.436Z","updated_at":"2025-04-05T00:07:47.228Z","avatar_url":"https://github.com/interledger.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Test Network\n\n\u003ca href=\"#what-is-test-network\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/117268143/220323531-538238d2-f538-4ed5-be97-163e28ebc48f.jpg\" width=\"920\" alt=\"Test wallet picture\"\u003e\n\u003c/a\u003e\n\n## What is Test Network?\n\nTest Network is an open Interledger network working with test money designed for account servicing entities to test their Interledger integration.\n\nTest Network currently includes an Interledger Test Wallet application, an e-commerce application and in the near future, a bank application.\n\nIf you are curious about the Interledger Test Wallet architecture diagram, then follow this [link](.github/TESTNET_architecture.md).\n\nSee Test Network in action:\n\n- [Interledger Test Wallet](https://wallet.interledger-test.dev)\n- [Interledger Test E-Commerce - Boutique](https://boutique.interledger-test.dev)\n\n## What is Rafiki?\n\n[Rafiki](https://github.com/interledger/rafiki) is an open-source package that exposes a comprehensive set of\nInterledger APIs. It's intended to be run by wallet providers, allowing them to\noffer Interledger functionality to their users.\n\n### New to Interledger?\n\nNever heard of Interledger before, or you would like to learn more? Here are some good places to start:\n\n- [Good first issues](https://github.com/interledger/testnet/contribute)\n- [Interledger Explainer Video](https://twitter.com/Interledger/status/1567916000074678272)\n- [Interledger Website](https://interledger.org)\n- [Payment pointers](https://paymentpointers.org/)\n- [Web monetization](https://webmonetization.org/)\n\n## Contributing\n\nPlease read the [contribution guidelines](.github/contributing.md) before submitting contributions. All contributions must adhere to our [code of conduct](.github/CODE_OF_CONDUCT.md).\n\n## Local Development Environment\n\n### Prerequisites\n\n- [Docker](https://docs.docker.com/get-docker/)\n- [NVM](https://github.com/nvm-sh/nvm)\n- [GateHub](https://sandbox.gatehub.net) account in Sandbox mode\n\n### Environment Setup\n\n```sh\n# Install Node 20\nnvm install lts/iron\nnvm use lts/iron\n\n# Install pnpm using Corepack\ncorepack enable\n```\n\nIf you do not have `corepack` installed locally you can use `npm` or `yarn` to install `pnpm`:\n\n```sh\nnpm install pnpm -g\n# or\nyarn install pnpm -g\n```\n\nFor alternative methods of installing `pnpm`, you can refer to the [official `pnpm` documentation](https://pnpm.io/installation).\n\nTo install dependencies, execute:\n\n```sh\npnpm i\n```\n\n### Environment Variables\n\nIn 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`.\n\n\u003e **Note**\n\u003e The local environment file (`.env`) is **NOT** tracked in the version control system, and should **NOT** be included in any commits.\n\nNavigate to the project's root directory and enter the following command:\n\n```sh\ncp ./docker/dev/.env.example ./docker/dev/.env\n```\n\nUsing your preferred text editor, open the `./docker/dev/.env` file and configure the necessary environment variables.\nThe `GATEHUB` related environment variables are necessary in order to complete Sandbox KYC, and add play money to your account. In order to have the correct variables, create a `GateHub` Sandbox account. Optionally you could send an email to `timea@interledger.foundation` and request these variables.\n\nTo 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.\n\nTo enable rate limiter on the wallet for security purposes you can set these environment variables: `RATE_LIMIT` to `true` and `RATE_LIMIT_LEVEL`. `RATE_LIMIT_LEVEL` has three possible values: `LAX|NORMAL|STRICT`, default is `LAX`.\n\nCross-currency transactions are supported. To enable this functionality, you will need to register at [freecurrencyapi.com/](https://freecurrencyapi.com/) and update the `RATE_API_KEY` environment variable with your own API key.\nCurrencies 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`.\n\nIf you would like to set up e-commerce application, 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.\n\n### Local Playground\n\nNavigate to the project's root directory and execute:\n\n```sh\npnpm dev #this will start the project in hot reload mode for backend containers. Frontend containers have hot reload functionality enabled on all dev commads\n```\n\nother options to start the local env are:\n\n```sh\npnpm dev:debug #backend containers will not have hot reload feature enabled but will expose and have node `--inspect` option set with wallet container debug port set to 9229 and boutique port set to 9230. Once the containers are running, you can connect your debugger (e.g., Chrome DevTools, VS Code)\n```\n\nand:\n\n```sh\npnpm dev:lite #backend containers will build and run the builds, no debug and no hot reload for these containers\n```\n\nUpon executing the above command, the following will be available\n\n- Interledger Test Wallet application\n\n  - Frontend at [http://localhost:4003](http://localhost:4003)\n  - Backend at [http://localhost:3003](http://localhost:3003)\n  - Admin at [http://localhost:3012](http://localhost:3012)\n\n- Interledger Boutique e-commerce application\n  - [http://localhost:4004](http://localhost:4004)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finterledger%2Ftestnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finterledger%2Ftestnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finterledger%2Ftestnet/lists"}