@moonup/ethers
@moonup/ethers Package Documentation
Summary
The @moonup/ethers package is a utility package that provides a MoonProvider class and a MoonSigner class for interacting with Ethereum-based blockchains using the MoonSDK from the @moonup/moon-sdk package. The MoonProvider class implements the Provider and IEthereumProvider interfaces from the ethers library, while the MoonSigner class implements the Signer and TypedDataSigner interfaces from the ethers library.
Setup
To use the @moonup/ethers package, you need to install it and import the MoonProvider and MoonSigner classes.
To install Moon Ethers:
npm install @moonup/ethersyarn add @moonup/etherspnpm add @moonup/ethersImporting the classes
To import the MoonProvider and MoonSigner classes, you can use the following code:
import { MoonProvider, MoonSigner } from '@moonup/ethers';Usage
MoonProvider
The MoonProvider class is a provider for interacting with Ethereum-based blockchains using the MoonSDK. It can be used to sign messages, transactions, and typed data using the MoonSDK, and it implements the Provider and IEthereumProvider interfaces from the ethers library.
To create a new instance of the MoonProvider class, you need to provide a configuration object that contains the following properties:
SDK(MoonSDK): An instance of the MoonSDK.address(string): The Ethereum address of the account.chainId(number): The ID of the Ethereum chain.
Here's an example of how to create a new instance of the MoonProvider class:
import { MoonSDK } from '@moonup/moon-sdk';
import { MoonProvider } from '@moonup/ethers';
const SDK = new MoonSDK({ /* your configuration */ });
const address = '0xYourEthereumAddress';
const chainId = 1; // mainnet
const provider = new MoonProvider({ SDK, address, chainId });Documentation here:
MoonSigner
The MoonSigner class is a signer for signing messages, transactions, and typed data using the MoonSDK. It implements the Signer and TypedDataSigner interfaces from the ethers library.
To create a new instance of the MoonSigner class, you need to provide a configuration object that contains the following properties:
SDK(MoonSDK): An instance of the MoonSDK.address(string): The Ethereum address of the account.chainId(number): The ID of the Ethereum chain.
Here's an example of how to create a new instance of the MoonSigner class:
import { MoonSDK } from '@moonup/moon-sdk';
import { MoonSigner } from '@moonup/ethers';
const SDK = new MoonSDK({ /* your configuration */ });
const address = '0xYourEthereumAddress';
const chainId = 1; // mainnet
const signer = new MoonSigner({ SDK, address, chainId });Documentation here:
Additional notes
The
MoonProviderclass can be connected to aMoonSignerinstance using thegetSignermethod.The
MoonSignerclass can be connected to aMoonProviderinstance using theconnectmethod.The
MoonProviderclass and theMoonSignerclass can be used with otherethersclasses and functions, such asContract,Wallet, andutils.The
MoonProviderclass and theMoonSignerclass are compatible with the Ethereum JSON-RPC API, which means that they can be used with other Ethereum clients and tools that support JSON-RPC.The
MoonProviderclass and theMoonSignerclass are designed to be used with the MoonSDK, which is a software development kit for building decentralized applications on the Moonbeam and Moonriver networks. However, they can also be used with other Ethereum-based blockchains that support the Ethereum JSON-RPC API.
Last updated