Hello everyone,
some time ago we had the plugin topic in the mainthread:
So, how does this work? Who can program plugins? Only Armory-devs, or anyone?
Anyone can make plugins, but they will only run on stock mainnet Armory if we have signed them. You can modify the source to add your own public key to the list of trustees if you want to run plugins someone else signed. I don't think we added an option in the UI for that yet, I'm not sure if we are going down that path. I think the internal talk was to sign trusted 3rd parties' key with ours so they can do their own plugin dev, and revoke privileges through the announcement system in case someone goes rogue. You should really ask etotheipi or Circus_Peanut for details, I wasn't part of this development effort.
All plugins run unsigned on testnet.
So I'd like to start with my Armory-Offlinesigning-Device, which would profit a lot from an Armory plugin.
What is the status of plugins? How would I proceed to have the plugins I envision signed so they run on stock Armory? Or is the mentioned "Armory signs an externals' key" approach the way to go? How to ensure those plugins are safe? I didn't find anything plugin-related in the GUI (except "verify signed package"?).
As an example, here's what I have in mind.
A tandem of a regular Armory-desktop-client and a small "offline" Armory box which signs the tx. That is nothing new in itself. I wish to build an inexpensive and neat tiny box with instructions on how to build it, and provide plugins to have both Armorys talk to each other transparently, the only additional steps being a physical button-press on the signing device and maybe a decryption password for securing the keys on that box. Focus on it all being open and transparent, and maybe a showcase project for others to find interest in creating hardware and plugins around Armory.
My ideas so far:
Offline-device:
- Raspberry Pi 1 with small 3.5" TFT, resistive touchscreen and buttons
- Offline Armory with 1) small-touchscreen-gui-input-addon and 2) airgap-jumping addon
Client-device:
- Regular online Armory client with watch-only wallet
- airgap-jumping addon
Airgap-jumping options:
I'd like to have a modular approach here, where different hardware-setups are possible to let the two Armory communicate over the "airgap". There are several concepts floating around here already, from USB-dongle to audio to QR. I'd like a "visibly flashing optocoupler", for example. Each hardware-option would have its own plugin, or the main plugin would be easy to expand with new setups.
Now the interesting part, of course, is how to trust a plugin which didn't come from Armory inc. I have the same problem, as I won't program anything such sensitive by myself, but will have someone else do that.
Alan, Circus_Peanut, what's the status on plugins? I'd like to hear your thoughts.
Is anyone interested to collaborate here? The point in this whole project is to make it easy to build for anyone, so collaborating for the prototype must be easy as well :-)
Cheers,
Ente