Skip to content

Repository files navigation


CircleCICommit ActivityCodeRabbit Pull Request Reviews

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.

Published Packages

PackageVersionDescription
@requestnetwork/advanced-logicnpmExtensions to the protocol
@requestnetwork/request-client.jsnpmLibrary to use Request nodes as servers
@requestnetwork/data-accessnpmIndexing an batching of transactions
@requestnetwork/data-formatnpmStandards for data stored on Request, like invoices format
@requestnetwork/epk-ciphernpmEncrypt /Decrypt requests using Ethereum private keys
@requestnetwork/epk-signaturenpmSign requests using Ethereum private keys
@requestnetwork/ethereum-storagenpmStorage of Request data on Ethereum and IPFS, with custom indexing
@requestnetwork/epk-decryptionnpmDecrypt encrypted requests using Ethereum private keys
@requestnetwork/lit-protocol-ciphernpmEncrypt / Decrypt requests using Lit Protocol
@requestnetwork/payment-detectionnpmClient-side payment detection, to compute the balance.
@requestnetwork/payment-processornpmPay a request using a web3 wallet
@requestnetwork/request-logicnpmThe Request business logic: properties and actions of requests
@requestnetwork/request-nodenpmWeb server that allows easy access to Request system
@requestnetwork/transaction-managernpmCreates transactions to be sent to Data Access, managing encryption
@requestnetwork/typesnpmTypescript types shared across @requestnetwork packages
@requestnetwork/utilsnpmCollection of tools shared between the @requestnetwork packages
@requestnetwork/web3-signaturenpmSign requests using web3 tools (like Metamask)
@requestnetwork/multi-formatnpmSerialize and deserialize object in the Request Network protocol
@requestnetwork/thegraph-data-accessnpmStorage of Request data on Ethereum and IPFS, indexed by TheGraph
@requestnetwork/smart-contractsnpmSources and artifacts of the smart contracts

Private Packages

PackageDescription
@requestnetwork/integration-testIntegration test for the Request system
@requestnetwork/toolboxToolbox for Request Network
@requestnetwork/usage-exampleUsage examples of Request Network

Contributing

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

Enable Corepack to use the same Yarn version as described in package.json.

corepack enable

Install all the packages in the monorepo.

yarn install

Build

Build all the packages in the monorepo.

yarn run build

Lint

Lint all the packages in the monorepo.

yarn run lint

Test

Test all the packages in the monorepo.

Some tests will require services to be running locally

docker compose up

Deploy Smart Contracts

yarn run deploy:contracts

Run request-node locally

yarn run start:request-node

Run all tests

yarn run test

Test a specific package by replacing @requestnetwork/request-client.js with the desired package name:

yarn workspace @requestnetwork/request-client.js test

Clean Docker Volumes

docker compose down -v

License

MIT

V1 packages

This repository hosts the packages for the second version of Request. The v1 packages are deprecated and can be found on requestNetwork-v1-archive.

About

A JavaScript library for interacting with the Request Network protocol

Topics

Resources

Contributing

Stars

385 stars

Watchers

37 watching

Forks

Releases

Used by

Contributors

Languages