Skip to content
master
Go to file
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
v1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

OPENDIME

Opendime is a small USB stick that allows you to spend Bitcoin like a dollar bill. Pass 'em around!

What's here?

This is a copy of contents of an example Opendime unit running the latest version of the firmware. You can use this to look at how it works, and to read the open-source code we provide.

There are three states for an Opendime:

  • New unit (does not have a bitcoin address yet)
  • Sealed (normal; has a payment address)
  • Un-Sealed (private key is revealed; sweep your funds)

Because there are major difference between version 1 and 2, they have been placed in different directories.

How to view?

Clone this repo and look in the new directory. That's exactly what you would see on the Opendime when you first plug it in. For example, on MacOS, this would be exactly the contents of /Volumes/OPENDIME.

In this example, we copied entropy.bin onto the drive to help it pick a random private key. Once that's done, the disk drive will look like sealed and that's how you'd use the Opendime most of the time.

Finally, look at unsealed to see what it looks like when you break the tab on the Opendime. The private key is revealed, and in combination with the original entropy file, you can verify we picked the private key in the manner we asserted.

Checking the private key math

To prove we are using the algorithm we claim, perform these steps:

pip install pycoin
cd unsealed/advanced
python rngverify.py ../../entropy.bin

Of course, you should also contemplate the python code in rngverify.py ... but it's pretty simple and only 75 lines.

What else is there to see?

You can unzip support/pycode.zip file to see the simple balance check and spending code, written in python.

About

Opendime is a small USB stick that allows you to spend Bitcoin like a dollar bill

Topics

Resources

Releases

No releases published
You can’t perform that action at this time.