Sumer is the easiest way to integrate monitoring and get visibility to your dApp activity.
It has been designed as an Observer Pattern-based SDK that allows users to observe Web3 Providers execution.
Integration is done with just a few lines of code and directly into the dApp frontend
To visualize the monitored activity, a Sumer dApp key is required.
Go to Sumer App and complete the sign up process to create your Sumer dApp and get the key.
Add the sumer-sdk package to your project
npm i sumer-sdk
or
yarn add sumer-sdk
Initialize the SumerSDK
import { Sumer } from 'sumer-sdk'
Sumer.init({ dappKey: 'YOUR_DAPP_KEY' })
The SDK currently has full support on Wagmi, Ethers and Web3-React
Once integrated, all transactional activity will be observed and available for monitoring in the Sumer App
The developer uses the wagmi.sh library as usual, no more software modifications are required
Client Integration
import { Sumer } from 'sumer-sdk'
const { chains, provider, webSocketProvider } = configureChains(
[mainnet],
[publicProvider()],
)
const client = createClient({
autoConnect: true,
connectors: [
new MetaMaskConnector({ chains }),
],
provider: Sumer.observe(provider),
webSocketProvider: Sumer.observe(webSocketProvider),
})
<WagmiConfig client={client}>
<YourDappComponents />
</WagmiConfig>
Contract Integration
import { Sumer } from 'sumer-sdk'
const contract = Sumer.contract(address, abi, chainId, signerOrProvider)
// use the contract instance as usual
const tx = contract.myFunction(...)
The SDK allows the developer to create a customized observer targeting the desired object
import { Sumer, Observer, TargetExecution } from 'sumer-sdk'
class CustomObserver extends Observer {
public async inspect(execution: TargetExecution): Promise<void> {
// use execution object as needed
}
}
const client = createClient({
autoConnect: true,
connectors: [
new MetaMaskConnector({ chains }),
],
provider: Sumer.observe(provider, [new CustomObserver()]),
})
If you have any trouble integrating the SDK or visualizing the monitored activity, do not hesitate to contact the developers team. Also contact us for any features/support that you would like to request.
General Contact - [email protected]
Developers Team - [email protected]
Twitter Profile - twitter
LinkedIn Profile - linkedin
Sumer Website - website
GitHub Repository - repository
Documentation - documentation
Distributed under the GNU GENERAL PUBLIC LICENSE. See LICENSE
for more information.