https://github.com/thegreataxios/ima-dual-channel
ima-dual-channel
https://github.com/thegreataxios/ima-dual-channel
Last synced: 3 months ago
JSON representation
ima-dual-channel
- Host: GitHub
- URL: https://github.com/thegreataxios/ima-dual-channel
- Owner: TheGreatAxios
- Created: 2023-02-09T08:03:40.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-02-10T23:25:41.000Z (over 2 years ago)
- Last Synced: 2025-01-10T07:55:18.468Z (5 months ago)
- Language: TypeScript
- Size: 413 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# IMA Dualchannel Example
The goal of this example is to showcase how the IMA MessageProxy for the SKALE
Network can be used make custom flows that enable a single user click that can have actions take place on a minimum of one other chain.## Installation
1. Run the script below
```sh
git clone [email protected]:TheGreatAxios/ima-dual-channel.git &&
cd ima-dual-channel &&
npm install &&
cp .env
```
2. Add PRIVATE_KEY=012357...124 to your .env file## Deployment
1. To deploy on Mainnet run ./deploy_mainnet $arg1 where $arg1 is a hardhat network name i.e calypso-mainnet
2. To deploy on Testnet run ./deploy_staging $arg1 where $arg1 is a hardhat network name i.e calypso-staging-v3## Tasks
> Notice that the tasks are geared specifically toward a primary deployment on Calypso. Key checks can be swithed out in the registration to make this work for your primary chain.
Register Contract with IMA Message Proxy
---##### Register Default Contract to ALL SKALE Chains
```sh
npx hardhat register-contract-ima --network
```##### Register Specific Contract to ALL SKALE Chain
```sh
npx hardhat register-contract-ima --network --contract
```##### Register Specific Contract to Single SKALE Chain
```sh
npx hardhat register-contract-ima --network --contract --chain
```Verify Origin Contracts
---```sh
npx hardhat verify-origin-contracts --network
```Verify Target Contracts
---```sh
npx hardhat verify-target-contracts --network
```