Request is a decentralized network built on top of Ethereum, which allows anyone, anywhere to request a payment. A full description of the protocol may be found in our whitepaper.
This repository contains all the Request Network developer tools written in TypeScript.
Join the Request Discord to get in touch with us.
Package | Version | Description |
---|---|---|
@requestnetwork/advanced-logic |
Extensions to the protocol | |
@requestnetwork/request-client.js |
Library to use Request nodes as servers | |
@requestnetwork/data-access |
Indexing an batching of transactions | |
@requestnetwork/data-format |
Standards for data stored on Request, like invoices format | |
@requestnetwork/epk-signature |
Sign requests using Ethereum private keys | |
@requestnetwork/ethereum-storage |
Storage of Request data on Ethereum and IPFS, with custom indexing | |
@requestnetwork/epk-decryption |
Decrypt encrypted requests using Ethereum private keys | |
@requestnetwork/payment-detection |
Client-side payment detection, to compute the balance. | |
@requestnetwork/payment-processor |
Pay a request using a web3 wallet | |
@requestnetwork/request-logic |
The Request business logic: properties and actions of requests | |
@requestnetwork/request-node |
Web server that allows easy access to Request system | |
@requestnetwork/transaction-manager |
Creates transactions to be sent to Data Access, managing encryption | |
@requestnetwork/types |
Typescript types shared across @requestnetwork packages | |
@requestnetwork/utils |
Collection of tools shared between the @requestnetwork packages | |
@requestnetwork/web3-signature |
Sign requests using web3 tools (like Metamask) | |
@requestnetwork/multi-format |
Serialize and deserialize object in the Request Network protocol | |
@requestnetwork/thegraph-data-access |
Storage of Request data on Ethereum and IPFS, indexed by TheGraph | |
@requestnetwork/smart-contracts |
Sources and artifacts of the smart contracts |
Package | Description |
---|---|
@requestnetwork/integration-test |
Integration test for the Request system |
@requestnetwork/prototype-estimator |
Give estimates of size and throughput of the Request system |
@requestnetwork/toolbox |
Toolbox for Request Network |
@requestnetwork/usage-example |
Usage examples of Request Network |
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Read the contributing guide
Install all the packages in the monorepo.
yarn install
Build all the packages in the monorepo.
yarn run build
Lint all the packages in the monorepo.
yarn run lint
Disable API tests OR define all required explorer API keys.
export DISABLE_API_TESTS=1
# OR
export EXPLORER_API_KEY_MAINNET=
export EXPLORER_API_KEY_RINKEBY=
export EXPLORER_API_KEY_FUSE=
export EXPLORER_API_KEY_MATIC=
export EXPLORER_API_KEY_FANTOM=
Test all the packages in the monorepo.
yarn run test
This repository hosts the packages for the second version of Request. The v1 packages are deprecated and can be found on requestNetwork-v1-archive.