Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chmllr/qu
A minimalistic governance & ledger toolkit for Internet Computer cold wallets.
https://github.com/chmllr/qu
Last synced: 3 months ago
JSON representation
A minimalistic governance & ledger toolkit for Internet Computer cold wallets.
- Host: GitHub
- URL: https://github.com/chmllr/qu
- Owner: chmllr
- License: apache-2.0
- Created: 2022-01-10T07:25:39.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-06-12T16:21:55.000Z (over 1 year ago)
- Last Synced: 2024-06-21T18:11:03.361Z (5 months ago)
- Language: Rust
- Homepage:
- Size: 188 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-icp - chmllr/qu
README
# qu
Minimalistic ledger and governance toolkit for cold wallets.
## Disclaimer
YOU EXPRESSLY ACKNOWLEDGE AND AGREE THAT USE OF THIS SOFTWARE IS AT YOUR SOLE RISK.
AUTHORS OF THIS SOFTWARE SHALL NOT BE LIABLE FOR DAMAGES OF ANY TYPE, WHETHER DIRECT OR INDIRECT.## Usage
This will sign a transfer transaction and print to STDOUT:
qu --seed-file transfer --amount
To display the signed message in human-readable form:
qu send --dry-run
`qu` could be used on an online computer to send any signed transaction:
qu send
To get the principal and the account id:
qu --seed-file public-ids
### Governance
This is how you’d stake/topup a neuron:
qu --seed-file neuron-stake --amount 2.5 --name 1
Managing the neuron:
qu --seed-file neuron-manage [OPERATIONS]
All of the commands above will generate signed messages, which can be sent on the online machine using the `send` command from above.
## Build
To compile `qu` run:
1. `rustup set profile minimal`
2. `rustup toolchain install stable --component rustfmt --component clippy`
3. `rustup override set stable`
4. `make release`After this, find the binary at `target/release/qu`.
## Contribution
`qu` is a very critical link in the workflow of the management of valuable assets.
`qu`'s code must stay clean, simple, readable and leave no room for ambiguities, so that it can be reviewed and audited by anyone.
Hence, if you would like to propose a change, please adhere to the following principles:1. Be concise and only add functional code.
2. Optimize for correctness, then for readability.
3. Avoid adding dependencies at all costs unless it's completely unreasonable to do so.
4. Every new feature (+ a test) is proposed only after it was tested on real wallets.
5. Increment the last digit of the crate version whenever the functionality scope changes.## Credit
Qu was forked from [Quill](https://github.com/dfinity/qull).