Git Product home page Git Product logo

algourl's Introduction

algourl

Convert transactions on standard input to ARC-0026 compatible format with ASCII QR code output.

This utility allows to quickly online or offline a participation key, especially when your account is rekeyed and/or protected by hardware security device like Ledger.

Quick Start

Installation

go install github.com/algonode/algourl@latest

The algourl binary will be available (in most cases) @ ~/go/bin/algourl

Online an account with Mobile wallet

⚠️ Make sure the participation key is generated and imported (see full examples)
ℹ You do not need new key in case your online status got suspended for not voting.

goal account changeonlinestatus -a 7THLM2QWR2VOGCLIQGGASSTHV6GBZAB2OMYRCDEQ2K5PXP42YKIAUKLOHM -t - | ~/go/bin/algourl 

Offline an account with Mobile wallet

goal account changeonlinestatus -a 7THLM2QWR2VOGCLIQGGASSTHV6GBZAB2OMYRCDEQ2K5PXP42YKIAUKLOHM --online=0 -t - | ~/go/bin/algourl 

Installation (full)

Usage examples (full)

New participation key

Initial state:

  • No active participation key for the account on the node
  • Account has some non zero balance (even 0.05 Algo is OK)
  • Account private keys are not stored on the node (GOOD!)
  • SSH access to the node :)

Let's generate new participation keys bundle for an account

# goal account addpartkey --address=7THLM2QWR2VOGCLIQGGASSTHV6GBZAB2OMYRCDEQ2K5PXP42YKIAUKLOHM --roundFirstValid=36876865 --roundLastValid=36976865
Please stand by while generating keys. This might take a few minutes...
Participation key generation successful. Participation ID: TB3UFX2DUXSA7W7CDMWRAR4QJRALTXLGA54NPI2SIGD63XPJXX6A

Example output

#> goal account changeonlinestatus -a 7THLM2QWR2VOGCLIQGGASSTHV6GBZAB2OMYRCDEQ2K5PXP42YKIAUKLOHM --online=0 -t - | algourl 

Paste below URL into your browser or scan QR code to online/offline the account
algorand://7THLM2QWR2VOGCLIQGGASSTHV6GBZAB2OMYRCDEQ2K5PXP42YKIAUKLOHM?type=keyreg&votefst=0&votelst=0

█████████████████████████████████████████████
██ ▄▄▄▄▄ █▀▄▄█ ▀▀█ ▄▀ ▀▀▀ ▀▄ ▀▀▀ ▀▀█ ▄▄▄▄▄ ██
██ █   █ ██▄▄ ▄▀▄▄   ▀▀█▄█ █▀▄██▄█ █ █   █ ██
██ █▄▄▄█ █▄███▄▄▀█▀█ ▀▀█▀▀▀ █▀█▄█▀██ █▄▄▄█ ██
██▄▄▄▄▄▄▄█▄█▄█▄█▄█ ▀ ▀ ▀ ▀ ▀▄█▄▀▄▀▄█▄▄▄▄▄▄▄██
██ █ █▄▀▄██▀▀██▄ ▄ ▀█▀ █▀ ▀▀█   ▄▄██▀▀▄▀█ ▀██
██ ▄ ▄▀▄▄██▀ ▀▄▀█▀▄▀ █▀▀ ▀█▀ ▀  █▀  ▄█▄▄▄█ ██
██▀▀▄▀▄█▄▀▀▀▀▀▀ █▄ ▄  █▀▀█▀███   █▀  ▄▄▀█▄▄██
██▀█▀▄▀█▄▄▄ ▀▄▀▄▀▀▄▀ ▀█▀▄██▀▄█ ▀ ██▀  ▄▄▄▄▄██
███  █ ▀▄▄▀  █▄▀█ ▀ ▀█ ▄██▀▀█▀ █▀▀   ▄█▀▄▄▄██
██▀ █▄▄▄▄▀█▀█▄▀ █▀▄▀ ██▀▀▀ ▀█▀ ▀▀███ ▄▀█▄▄▄██
██  ▄ ▀▀▄ ██▀▄   ▀█▀     ▀ ▄█ ▀▄   ▄▄▄█▄▄▀▀██
██ █▄█▀▀▄▀▀█▀▀▀   █  ▀  ▄█▀▀██▄ ▀▀ ▀ ▄▀██▄▄██
██████▄▀▄ ▄ ▄ ██ ▀▀▀█▀    ▀▀█▀▀ ▄█ ▄▄ █▄▀  ██
████▀▄  ▄▀▀█▄███▄█▀ ▄█  ▄█▄ ▄█▀ ██ ▄▄▀▄█▄▄▄██
███▀▄ █ ▄ ▀ ▄▀  ▀ █▀█▀ ▀██▀▄ █▀▀█▄▀  █▄██▄ ██
██▄▀▀▄▀▄▄    █▄█▀█▀ ▄▄ ▀▀▀ ▀▀█ ▀▀█ █▄▄█▄██ ██
██▄███▄▄▄▄ ▀▄███ ▀▄▄█▄   ▄▀  ▀ ▀█▀ ▄▄▄ ▀ ▀███
██ ▄▄▄▄▄ ████▄▀█▄▄ ▄█▀▀▀▄█▀▀▀██▀▄█ █▄█ █▄ ▄██
██ █   █ █▄▄ █ ███▀▀█  ▀▄  ▄█  ▄▄█▄▄▄  ▄▄ ▀██
██ █▄▄▄█ █▄▀ █ ▄ ▀▄  ██ ▄█▄▀▀█▀ ▀██▀█▄ ██ ▄██
██▄▄▄▄▄▄▄█▄▄█▄▄▄████▄██████▄▄██▄▄▄▄▄█▄▄██▄▄██

TXN type support

algourl utility supports the following transactions

  • only participation key registration/deregistration transactions
  • unsigned raw MSGPack encoded files only

Ecosystem support

Generated URLs/QRs are ARC-0026 backward compatible but new standard that allows for non-pay transactions is yet to be published

Wallet TX Support Remarks
Defly mobile KEYREG, PAY

FAQ

Q: Is it safe to use? Is it leaking keys ?

All information encoded into URL is public in nature (public keys) and safe for transport over untrusted medium (as all unsigned transactions are). Data in the URL/QR code contains no more information than written to the public ledger for everyone to see after any key registration transaction.

algourl's People

Contributors

urtho avatar

Stargazers

Leslie Owusu-Appiah avatar  avatar

Watchers

 avatar Charles avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.