- No matches
Create an organization
An organization is one deployment of UmbroOrg26. The transaction returns an address. Save it. There is no network-wide organization address to copy from a config file. /utn-config.js does not list contract addresses.
You need the clone from Deploy with Foundry and Hardhat if you are not using the copy already on Remix, and an account with T-RAIN. Get T-RAIN if it has none.
1. Open Remix
Open remix.BASE and upload packages/umbro/src. Keep the subfolders (org and the others the contract imports).
2. Compile
Open org/UmbroOrg26.sol.
- Set the compiler to
0.8.28. - Open Advanced Configurations.
- Turn optimization on, with 200 runs.
- Turn via IR on.
Compile. Confirm the compiler version before you change the source. Those settings are what verification has to repeat.
3. Deploy
Open the Deploy tab.
- Environment: UTN Wallet for a passkey account, or Injected Provider for MetaMask.
- The wallet must be on chain id
20261003. The MetaMask fields are on Add UTN to MetaMask.
The constructor takes four arguments. For a first deploy, use your address for operator and firstAdmin.
| Argument | Example | Meaning |
|---|---|---|
operator | your address | Can call operatorSetAdmin later |
identity | keccak256("northwind") | A non-zero bytes32 stored on the contract |
firstAdmin | your address | First member, and an admin |
orgName | Northwind | Name stored on the contract |
keccak256("northwind") is 0x798783426b03356c7def2899ac50a62acfa22ae73d90d34a8f6b36d141f9334c.
Click Deploy and confirm in the wallet. Remix prints the new address.
4. Read it back
bash
cast call 0xYOUR_ORG_ADDRESS "standard()(string)" --rpc-url https://rpc.utn.network
cast call 0xYOUR_ORG_ADDRESS "name()(string)" --rpc-url https://rpc.utn.networkstandard() returns UMBRO-ORG-26. name() returns the name you passed.
The same read from Node, using abi.UmbroOrg26, is on Deploy with Foundry and Hardhat.
Admins, members, and the contract balance are explained on Organizations and UMBRO-ORG.