This Project is Under Development, Scripts and Documentations are under-construction!
EGO is a smart-contract platform built on IC's canisters. EGO's goal is to allow users to own and control his/her canisters, in an easy way, like App store. Upgrade canisters into latest or specific version, backup and restore smartcontracts data, interlink with other installed canisters, even interact with user-owned distributed/decentralized marketplace.
There are at least 3 different roles in EGO.
- Developers: Upload and maintain canister wasm, and frontend applications. Pay to install or free to use.
- Admin/Auditors/Committee: set roles, audit wasm code, progress network updates and governance.
- Users: Install and use his/her owned DApps through his/her wallet.
-
rust 1.65.0+
-
dfx 0.12.1+
-
didc download binary, export PATH to
didc -
!! Important !! Manually Setup Credentials
- Under
credentialsfolder, you need to add 2 files.seedPhrase.txt: 12 words mnemonic phrases, to create secp256k1 account for local testproduction.pem: pem file with secp256k1 curve encoded, use formainnetdeployment- You can change file names on
ego-config.json
- Modify
ego-config.json, changeproduction_cycles_walletto your cycles wallet.
- Under
-
setup project, see
ego-projects.json, -
Lazy Setup Credentials
pnpm run ego:credentialsWill generate
seedPhrase.txtandproduction.pemfor you. But!! You have to Setup manually on production!!
pnpm installpnpm run ego:runto create and deploypnpm run test ego_exampleto run test file inclients/tests
- build projects, infra/apps or single project
pnpm run ego:build # build all projects
pnpm run ego:build --infra # build infra projects
pnpm run ego:build --apps # build apps projects
pnpm run ego:build --project=ego_dev # build ego_dev- install projects, infra/apps or single project
pnpm run ego:install # install all projects
pnpm run ego:install --infra # install infra projects
pnpm run ego:install --apps # install apps projects
pnpm run ego:install --project=ego_dev # install ego_dev- reinstall projects, infra/apps or single project
pnpm run ego:reinstall # reinstall all projects
pnpm run ego:reinstall --infra # install infra projects
pnpm run ego:reinstall --apps # install apps projects
pnpm run ego:reinstall --project=ego_dev # install ego_dev- upgrade projects, infra/apps or single project
pnpm run ego:upgrade # upgrade all projects
pnpm run ego:upgrade --infra # upgrade infra projects
pnpm run ego:upgrade --apps # upgrade apps projects
pnpm run ego:upgrade --project=ego_wallet # upgrade ego_wallet- post install
pnpm run ego:deploys
pnpm run ego:deploys:infra # run infra deploys
pnpm run ego:deploys:apps # run apps deploys
pnpm run ego:deploys:project post_wallet # run wallet deploys, please use `post_` prefix to project