Skip to content
/ Exo Public

A Personal Ledger for managing ERights and Object Capabilities (ocaps)

License

Notifications You must be signed in to change notification settings

endojs/Exo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agoric's Pledger - Pluggable, Personal, Promise-based Ledger

NOTE: Experimental and certainly not ready for production!

This is a graphical desktop app that manages the Agoric client, on Linux, MacOS, or Windows.

Documentation for the Electron Forge system that Pledger currently uses is at https://electronforge.io

Running on your platform

You can try out the current UI by running:

yarn install
yarn build
cd packages/app-electron
yarn start

Packaging the application for your platform

yarn package

Creating installers for your platform

Note that the installers for MacOS and Windows currently depend on application signing keys that only exist on my (@michaelfig) build machine. Changing this dependencies is possible in the packages/app-electron/package.json.

To create the installers from the previous packaging, run:

export SNAPCRAFT_BUILD_ENVIRONMENT=host # Needed under Linux VMs that can't nest VMs
yarn make --skip-package

Omit --skip-package if you want to package and create the installers in the same step.

Publishing installers for this platform

In order to do a release, you should bump the packages/app-electron/package.json version. Then do the following and test the installers in the packages/app-electron/out/ directory.

# Create a publishing bundle
yarn publish:electron --dry-run

After you're content with the installers for each platform, you should publish to Github. The next step currently needs the $GITHUB_TOKEN for https://github.com/agoric-labs/Pledger in order to create release artifacts.

# Push the bundle to the publishers
yarn publish:electron --from-dry-run

Publishing Snaps

NOTE: For now, you will have to manually do:

snapcraft upload --release=beta out/make/pledger-*.snap

We'd like to use the following:

{
  "name": "@electron-forge/publisher-snapcraft",
  "config": {
    "release": "beta"
  }
}

but first we need a solution to: https://github.com/davidwinter/electron-forge-maker-snap/issues/38