Installation
The best way to access Request Network is using the Request Network SDK with a Request Node. In this way, the Request Node operator pays the protocol fee for creating requests and reduces the number of transactions signed by the end user resulting in a better user experience.
The Request Network SDK is split into multiple packages so that Builders can pick and choose the features they need.
These are the packages that we think would be most commonly used by Builders to build applications.
Package | Description |
---|---|
Create, update, and retrieve requests. | |
Sign requests using web3 wallets like Metamask | |
Sign requests using Ethereum private keys | |
Standards for data stored on Request, like invoice format | |
Decrypt encrypted requests using Ethereum private keys | |
Pay a request using a web3 wallet | |
Web server that allows easy access to the Request system | |
Tools for managing currency definitions |
The Request Client library can be imported as ES6 or CommonJS modules.
ES6
CommonJS
import { RequestNetwork } from '@requestnetwork/request-client.js';
import { Web3SignatureProvider } from '@requestnetwork/web3-signature';
import { payRequest } from '@requestnetwork/payment-processor';
const { RequestNetwork } = require('@requestnetwork/request-client.js');
const { Web3SignatureProvider } = require('@requestnetwork/web3-signature');
const { payRequest } = require("@requestnetwork/payment-processor");
These packages are published publicly but contain functions that are internal to the External Packages. It is less likely that a Builder would need to use these packages.
Package | Description |
---|---|
Extensions to the protocol | |
Indexing and batching of transactions | |
Storage of Request data on Ethereum and IPFS, with custom indexing | |
Serialize and deserialize object in the Request Network protocol | |
Payment detection, to compute the balance. | |
The Request business logic: properties and actions of requests | |
Sources and artifacts of the smart contracts | |
Storage of Request data on Ethereum and IPFS, indexed by TheGraph | |
Creates transactions to be sent to Data Access, managing encryption | |
Typescript types shared across @requestnetwork packages | |
Collection of tools shared between the @requestnetwork packages |
Last modified 1mo ago