Skip to content

A collection of hacks and workarounds for Juno and its outer ecosystem

Notifications You must be signed in to change notification settings

junobuild/hacks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hacks

A collection of hacks and workarounds for Juno and its outer ecosystem.

Table of contents

Canister to Satellite

⚠️ This method has never been tested and is not yet functional. Reach out Juno first if you wish to use it. ⚠️

This hack aims to transform an existing canister on the IC mainnet into a Juno satellite that can be administered by a developer and their mission control.

  1. Collect following principals on Juno's console:

a. Your mission control ID available in https://console.juno.build/mission-control/

b. Your developer ID in https://console.juno.build/settings

  1. Collect your terminal Juno CLI controller ID running juno whoami.

  2. Ensure that your local dfx principal currently in use is a controller of your existing canister.

Following command must succeed:

dfx canister status <your-canister-id> --network ic
  1. Add your two Juno's principals to the list of controllers of your existing canister.
dfx canister update-settings <your-canister-id> --add-controller <mission-control-id> --network ic
dfx canister update-settings <your-canister-id> --add-controller <developer-id> --network ic
dfx canister update-settings <your-canister-id> --add-controller <cli-id> --network ic
  1. Edit [canister-to-satellite.sh] to set your Juno's principals and targeted canister ID.

  2. Run the script [canister-to-satellite.sh] to transform the canister into a Satellite.

⚠️ Be aware that transforming the canister will wipe its state ⚠️

  1. At this point you might want to deploy your dapp to your new Satellite.
  • In your dapp project, manually edit the satelliteId in juno.json.
  • Build your dapp if required.
  • Deploy running juno deploy.
  1. Finally, we need to attach your new satellite to your mission control. That way, it shall appear in Juno's console.
npm ci
npm run attach-satellite -- --mission_control_id=<mission-control-id> --satellite_id=<your-canister-id> --name=<a-name-for-your-satellite>

About

A collection of hacks and workarounds for Juno and its outer ecosystem

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published