Digital organizations for the real world
dfx start --clean
./deploy.sh
Open link of organization frontend gateway in the browser, login via local Internet Identity and copy the principal by clicking on it in the top right corner.
cd ./scripts
./add-profile.sh --ii=YOUR_COPIED_PRINCIPAL_FROM_FRONTEND_GATEWAY
Check the terminal output. You will receive a link that you need to open in the browser or pass to the invitee.
Example output:
Go to http://qaa6y-5yaaa-aaaaa-aaafa-cai.localhost:8000/wallet/qoctq-giaaa-aaaaa-aaaea-cai/profile and accept your shares
Or production http://qaa6y-5yaaa-aaaaa-aaafa-cai.ic0.app/wallet/qoctq-giaaa-aaaaa-aaaea-cai/profile
Or local http://localhost:3000/wallet/qoctq-giaaa-aaaaa-aaaea-cai/profile
Now you can start configuring your organization
- Gateway contains frontend and backend implementations of the gateway entrypoint. To get into the digital organization, the user must go to the gateway and select the organization. In the future, it is planned to implement the possibility of separate front-ends on organizations. The backend performs the discovery function, notification management and much more.
- Wallet-backend is a digital organization backend implementation and is the central point of the whole repository.
- History-ledger is the dynamic history ledger implementation for digital organization needs. It stores execution history and execution results. Several ledgers can be deployed and connected to a single organization.
- Deployer-backend is black-holed canister (in theory) and is required for organization deployments, upgrades and delete. It also stores organization wasm versions and allows you to update versions of existing organizations.
- Demo folder contains
Thoughter
project, kind of like Twitter. This is standalone TS + Rust canister with digital organization intergration throughunion client
- Scripts folder contains shell-scripts and TODOs for proper infrastructure deployment. Also, it contains union caller utility.
- Libs folder contains frontend libraries. These 2 libraries are the most important:
candid-parser
allows to parse.did
files on frontend and transform types to IDL classes at runtime.client
is integration library that allows to interact with organizations in your custom frontend application. Check example in demo folder.
- Shared folder contains necessary rust functions and code utilities.