Smidgen Development Update — an IOTA Multisignature Wallet

Bitfinex
Bitfinex
Published in
2 min readDec 27, 2017

--

In September we announced smidgen — an open-source, MIT Licensed IOTA multisignature wallet. By using smidgen, one can create addresses requiring multiple seeds for each transaction, each seed owned by one or multiple persons, to add an additional layer of security to IOTA transactions. Today we are happy to announce version 1.2.0 with a lot of new features and improvements.

What’s new in 1.2.0?

  • Transfers now support multiple target addresses

This represents our favorite feature of this release. It’s now possible to define multiple outputs for a transaction, with support for both multisignature and default wallets.

Here are the signatures of the command:

smidgen transfer <amount> <address> [<amount> <address>...]
smidgen multisig transfer <amount> <address> [<amount> <address>...] <id> <wallet>

Which means that means with:

smidgen transfer 1 QTC.. 2 FTE.. 3 TTE..

We send 1i to the address beginning with QTC, 2i to the address FTE and 3i to address TTE — All within one bundle!

  • Configuration files are now supported via .smidgenrc

smidgen relies on a full node provider for a number of tasks. In the past, changing the provider address was always done via the --provider command line argument. With this update, smidgen will additionally make use of a configuration file called .smidgenrc. If this does not exist, smidgen creates it in your home directory. In the .smidgenrc you can overwrite the defaults for all configuration flags and set them to a new default. This means that if you define a new provder in your .smidgenrc, you can omit passing the --provide flag in the future. Example: {"provider": "http://fullnode.example.com"}. In case you temporarily need another setting, you can still overwrite config values via the command line arguments.

  • - - no-validation flag for multisig wallet creation without internet connection

smidgen enhances the security surrounding multisignature wallet creation. In doing so, smidgen aims to find out if a seed has already been used with a single-signature wallet, done via getKeyIndex, allowing it to check if a seed has been used in another transaction . When a node is offline, if you have no WiFi or you don't want the additional safety net, you can disable these checks with --no-validation.

  • Fix crashes if a light node has connection issues

In previous versions, smidgen would crash when a node was temporarily overloaded. By means of this update, smidgen now shows an error notice with the suggestion to retry or to use another node via--provider.

  • iota.lib.js update to 0.4.5

smidgen is built upon the IOTA core library, maintained by the IOTA Foundation. With this release, a number of improvements and fixes have made its way to smidgen.

Besides acting as a multisignature wallet, smidgen also supports a number of beneficial commands, from address generation to balance checking.

smidgen is currently in late beta mode and we welcome any feedback. Please contact feedback-dev@bitfinex.com with thoughts and ideas on how to optimise smidgen.

Stay up to date with Bitfinex on Twitter, Facebook & LinkedIn.

Join us on our mission to create the most innovative & industry-leading cryptocurrency exchange.

--

--

Bitfinex
Bitfinex

Bitfinex is the world’s leading cryptocurrency trading platform.