Bitcoin Forum
March 19, 2024, 05:11:17 AM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: 1 2 3 [All]
  Print  
Author Topic: [BOUNTY] Project: Private Key Label Printer for BitAddress.org  (Read 5565 times)
casascius (OP)
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1135


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
June 12, 2013, 07:14:59 PM
 #1

The Bounty: One bag of 500 stickerable Aluminum Casascius Coins, including shipping.  These have the Bitcoin logo on the front, and a blank space for a sticker (up to 1.15" / 29mm in diameter) for you to print the content of your choice.

The Project: Fork BitAddress.org so that it can be used for printing full sheets of private key labels.

The Labels: http://www.onlinelabels.com/OL1025.htm



How it should work:

  • The user enters label count wide and high per page (in this example, 6 wide and 8 high)
  • The user enters width of label and horizontal distance between labels (as well as height and vertical distance)
  • The user enters a horizontal and vertical positioning offset (so it works with their particular printer)
  • The user should be able to print a sheet of private keys after having bought the product linked to above.

In addition, there should be an easy way for the user to copy a list of the Bitcoin Addresses to the clipboard, so he can bulk-fund the addresses with the amount of his choice.  The list should be available in two formats: one being a simple CRLF-delimited list of addresses, and the other being a preformatted command for bitcoind to fund all the coins in a single transaction, example:

Code:
sendmany "" "{\"1Address1\": 0.01, \"1Address2\": 0.01, \"1Address3\": 0.01}"

WHAT SHOULD GO ON THE LABELS:

This should be possibly up to user's discretion.  They will be a tight fit.  Some users will want QR codes and others will rather save the space.  Some users will want the Bitcoin address on the labels, others might view that as unnecessary.  I would think most users would want to enter a denomination to be printed, since the aluminum coins don't come pre-denominated.  I am open to any reasonable interpretation of what a user is likely to want.

Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
1710825077
Hero Member
*
Offline Offline

Posts: 1710825077

View Profile Personal Message (Offline)

Ignore
1710825077
Reply with quote  #2

1710825077
Report to moderator
The block chain is the main innovation of Bitcoin. It is the first distributed timestamping system.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1710825077
Hero Member
*
Offline Offline

Posts: 1710825077

View Profile Personal Message (Offline)

Ignore
1710825077
Reply with quote  #2

1710825077
Report to moderator
1710825077
Hero Member
*
Offline Offline

Posts: 1710825077

View Profile Personal Message (Offline)

Ignore
1710825077
Reply with quote  #2

1710825077
Report to moderator
1710825077
Hero Member
*
Offline Offline

Posts: 1710825077

View Profile Personal Message (Offline)

Ignore
1710825077
Reply with quote  #2

1710825077
Report to moderator
BitKoot
Member
**
Offline Offline

Activity: 113
Merit: 10



View Profile
June 12, 2013, 08:17:27 PM
 #2

May I ask why you want to fork BitAddress.org instead of using your own wallet generator software?

The wallet generator software is pretty flexible as well and could be altered to do this job.
casascius (OP)
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1135


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
June 12, 2013, 11:01:32 PM
 #3

May I ask why you want to fork BitAddress.org instead of using your own wallet generator software?

The wallet generator software is pretty flexible as well and could be altered to do this job.

Great question.  The software at BitAddress.org is cross-platform and gets enjoyed by a broader audience.  My own software tends to be used predominantly by those using Windows, and my wish isn't so much to create a simple tool for myself to use, but for others.  There's also a bigger community of developers willing to fork and work on the BitAddress code base versus mine.

Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
threeip
Full Member
***
Offline Offline

Activity: 154
Merit: 100



View Profile WWW
June 12, 2013, 11:25:40 PM
 #4

Sent you a PM mate.

ส็็็็็็็็็็็็็็็็็็็็็็็็็ GPG:2AFD99BB ಠ_ಠ mon
acoindr
Legendary
*
Offline Offline

Activity: 1050
Merit: 1002


View Profile
June 13, 2013, 01:11:43 AM
 #5

I cringe a little when I see BitAddress.org promoted. Yes, it's very convenient and awesome using client-side Javascript to generate addresses but most users of a site like that wouldn't know whether it was Javascript or something else generating the addresses.

While I agree with your concerns, this is offtopic here.

That's true. I deleted my post. I'll start a new topic.
kodo
Newbie
*
Offline Offline

Activity: 42
Merit: 0



View Profile
June 13, 2013, 02:18:35 AM
 #6

This is definitly a great idea, good luck.
threeip
Full Member
***
Offline Offline

Activity: 154
Merit: 100



View Profile WWW
June 13, 2013, 04:54:01 PM
 #7

https://github.com/threeip/casascius , demo version at http://rackverse.com/casascius/ . Any and all feedback welcome just don't laugh at my code (to my face Wink)

ส็็็็็็็็็็็็็็็็็็็็็็็็็ GPG:2AFD99BB ಠ_ಠ mon
casascius (OP)
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1135


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
June 13, 2013, 04:57:30 PM
 #8

This needs to be entirely in Javascript.  It cannot be based on server side code.

Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
threeip
Full Member
***
Offline Offline

Activity: 154
Merit: 100



View Profile WWW
June 13, 2013, 05:30:51 PM
 #9

This needs to be entirely in Javascript.  It cannot be based on server side code.

Ack. Ok, best of luck with it!

ส็็็็็็็็็็็็็็็็็็็็็็็็็ GPG:2AFD99BB ಠ_ಠ mon
BitKoot
Member
**
Offline Offline

Activity: 113
Merit: 10



View Profile
June 13, 2013, 08:18:33 PM
 #10

I would like to give this a serious try. I believe I have the needed experience in html/js/css programming.

Is it possible to reserve the bounty for a few days, so I can put some serious time in it without the risk of being outperformed by an anonymous lurker?

If not I might try it anyway during the weekend (if by then nobody has made a serious attempt).
dave3k
Full Member
***
Offline Offline

Activity: 147
Merit: 100


Realbitcoin.info


View Profile WWW
June 13, 2013, 08:40:03 PM
 #11

I'll add 0.2 btc to the bounty (if thats ok), so that you can buy some labels to go with your new blanks Smiley
Think I would find this useful.

Realbitcoin.info
peonminer
Hero Member
*****
Offline Offline

Activity: 798
Merit: 531


Crypto is King.


View Profile
June 13, 2013, 10:43:13 PM
 #12

I'll add 0.2 btc to the bounty (if thats ok), so that you can buy some labels to go with your new blanks Smiley
Think I would find this useful.
Noble Smiley

Good idea OP

I'm sure someone will have this finished for you with in a week. (POSITIVE VIBES!!! C: )
BitKoot
Member
**
Offline Offline

Activity: 113
Merit: 10



View Profile
June 14, 2013, 10:11:46 PM
 #13

I made a quick start:



The label generation works, but the labels are still empty. I will look into adding the private key's during the weekend.

Let me know if this is in the right direction.
Bitcoin Grid
Newbie
*
Offline Offline

Activity: 18
Merit: 0



View Profile WWW
June 15, 2013, 02:50:37 PM
 #14

I was going to code this anyway as i had the same idea!

I tried using the print button in browser but the margins kept changing depending on the printer used.

I have coded it in JSPDF (A Javascript PDF Creator) Which can be run in firefox or chrome (It works in firefox but takes forever, chrome it takes seconds).

PDF With Text Private Keys

PDF With QR Codes

The pdf generating code is done just got the GUI to do.
BitKoot
Member
**
Offline Offline

Activity: 113
Merit: 10



View Profile
June 15, 2013, 07:42:19 PM
 #15

I have added the keys to the labels (QR codes are the default):



If the user chooses the 'Use key text' option it adds the private keys as text to the labels:



Still to do:
Add the 'copy bulk fund to clipboard' and 'copy key pairs to clipboard' functionality.

I was also thinking about adding a third option for displaying the keys: show the textual key in combination with one row of text a user can specify (a denomination for example).
BitKoot
Member
**
Offline Offline

Activity: 113
Merit: 10



View Profile
June 15, 2013, 08:14:31 PM
 #16

It seems copy/paste is hard to do entirely in javascript if you want it to work cross-browser without security warnings.

I have added an expandable section below the generated labes with the bulk fund and key pair text:

piit79
Sr. Member
****
Offline Offline

Activity: 336
Merit: 250


Time for Plan ฿


View Profile
June 16, 2013, 10:37:18 AM
 #17

Great work, watching.
Bitcoin Grid
Newbie
*
Offline Offline

Activity: 18
Merit: 0



View Profile WWW
June 16, 2013, 02:00:48 PM
 #18

Which labels are we meant to be designing it for?

The link is for these ones http://www.onlinelabels.com/OL1025.htm

But the picture shows these ones http://www.onlinelabels.com/OL6000.htm

Not an issue for my script, as the sticker specs can be changed by changing the values in a few boxes. but knowing the right ones will make setting the defaults easier.
piit79
Sr. Member
****
Offline Offline

Activity: 336
Merit: 250


Time for Plan ฿


View Profile
June 16, 2013, 02:04:20 PM
 #19

Not sure about the defaults but could you please also create presets for us metric folk for the following label sheets?

White 29mm diameter: http://www.labelplanet.co.uk/proddetail.php?prod=Round-Labels-White-Paper-29mm
Silver 25mm diameter: http://www.labelplanet.co.uk/proddetail.php?prod=Round-Silver-Labels-25mm

Thanks!
Bitcoin Grid
Newbie
*
Offline Offline

Activity: 18
Merit: 0



View Profile WWW
June 16, 2013, 02:22:53 PM
 #20

Not sure about the defaults but could you please also create presets for us metric folk for the following label sheets?

White 29mm diameter: http://www.labelplanet.co.uk/proddetail.php?prod=Round-Labels-White-Paper-29mm
Silver 25mm diameter: http://www.labelplanet.co.uk/proddetail.php?prod=Round-Silver-Labels-25mm

Thanks!

Mines coded in mm not inches.

I can’t find the specs for those labels on the website.

Do you have the specs for them? I need these (in mm):
Top Margin
Left Margin
Circle Diameter
Horizontal Spacing
Vertical Spacing
Num Labels Across
Num Labels Down
piit79
Sr. Member
****
Offline Offline

Activity: 336
Merit: 250


Time for Plan ฿


View Profile
June 16, 2013, 02:35:36 PM
 #21

I see, that's great. They do have templates on the website but not full specs. I guess I will order a few sheets to start with and measure and supply the required info.
Bitcoin Grid
Newbie
*
Offline Offline

Activity: 18
Merit: 0



View Profile WWW
June 16, 2013, 02:40:08 PM
 #22

I see, that's great. They do have templates on the website but not full specs. I guess I will order a few sheets to start with and measure and supply the required info.

Or just contact the company and ask for them?
BitKoot
Member
**
Offline Offline

Activity: 113
Merit: 10



View Profile
June 16, 2013, 03:06:41 PM
 #23

There is one problem with presets; every browser and every printer prints pages differently (especially the margins are different, and the DPI of the printer will also have an effect because CSS assumes a default DPI of 96).

It's better to give users enough control so they can try to find the right parameters with a few blank normal paper pages before printing on the sticker pages.
Bitcoin Grid
Newbie
*
Offline Offline

Activity: 18
Merit: 0



View Profile WWW
June 16, 2013, 03:24:39 PM
 #24

There is one problem with presets; every browser and every printer prints pages differently (especially the margins are different, and the DPI of the printer will also have an effect because CSS assumes a default DPI of 96).

It's better to give users enough control so they can try to find the right parameters with a few blank normal paper pages before printing on the sticker pages.

Mine uses PDFs so you just print it as actual size with the correct paper size and it will come out the same on every printer.
casascius (OP)
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1135


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
June 16, 2013, 06:00:30 PM
 #25

The 29mm labels are going to be the best fit on the coins but probably going to be harder to find in the US where 1 inch (25.4mm) is far more common unless someone wants to pay expensive shipping from outside US.  Ideally it should work with any labels - someone should be able to figure out the numbers for their particular labels and then hit print.

The send many command also needs to send to the Bitcoin address not the private key (starts with 1 not 5) and also needs to be a comma and space after the amount.

Also this would work so much better if it could generate the 30 character minikey and not the full length 51 char privkey. Mini keys are easy to generate, just generate 'S' plus 29 random alphanumerics in the base58 set, do a quick sha256 test on it+'?' (only 1 in 256 codes will pass the test), and increment or regenerate the code until you get one that passes. When you have one that passes just take sha256 of the string and use it as a private key. Minikey is described on the Bitcoin wiki and redemption is well established since I use it in Casascius Coins. I am willing to pay this bounty out more than once and would love to see bitaddress modified to make minikeys.

Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
BitKoot
Member
**
Offline Offline

Activity: 113
Merit: 10



View Profile
June 16, 2013, 06:35:04 PM
 #26

I have made it possible to choose the units you want to enter the measurements in (inches, milimeters and pixels). As a quick check to see if you have the right numbers the width and height of the sheet in the chosen units are shown. That should allow anyone anywere to get the right dimensions for the generated labels in their preferred units.

I have fixed the send many string (added comma and put in the public adres (painfull mistake Smiley).

I will have a look at the mini key specification tomorrow if time permits. Sounds like a good solution if the user wants some custom text added to the label.

Units in milimeters:


Units in pixels:
casascius (OP)
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1135


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
June 16, 2013, 06:36:55 PM
 #27

I plan to pay this bounty out more than once so please don't worry about your "competition", please feel free to "steal" one another's ideas, as ultimately the most desirable end result is one fork that has every benefit that's been thought of here.

Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
Bitcoin Grid
Newbie
*
Offline Offline

Activity: 18
Merit: 0



View Profile WWW
June 16, 2013, 06:57:14 PM
 #28

The 29mm labels are going to be the best fit on the coins but probably going to be harder to find in the US where 1 inch (25.4mm) is far more common unless someone wants to pay expensive shipping from outside US.  Ideally it should work with any labels - someone should be able to figure out the numbers for their particular labels and then hit print.

The send many command also needs to send to the Bitcoin address not the private key (starts with 1 not 5) and also needs to be a comma and space after the amount.

Also this would work so much better if it could generate the 30 character minikey and not the full length 51 char privkey. Mini keys are easy to generate, just generate 'S' plus 29 random alphanumerics in the base58 set, do a quick sha256 test on it+'?' (only 1 in 256 codes will pass the test), and increment or regenerate the code until you get one that passes. When you have one that passes just take sha256 of the string and use it as a private key. Minikey is described on the Bitcoin wiki and redemption is well established since I use it in Casascius Coins. I am willing to pay this bounty out more than once and would love to see bitaddress modified to make minikeys.


Just generating 256 takes 9 seconds on my computer so a whole sheet would take about 10 minutes!

I will give it a go but its going to be slow.
JohnGalt
Full Member
***
Offline Offline

Activity: 249
Merit: 114


Who is John Galt?


View Profile
June 16, 2013, 07:46:23 PM
 #29

I used 1.125" labels from sheet-labels.com for my coins. The part number is SL266. The labels are slightly smaller than the space on the coin so that you don't have worry as much about aligning them perfectly.

Also, because my printer doesn't have good registration, I had to add quite a bit of buffer around the edge of the labels in case the paper wasn't aligned perfectly.

I used the minikey format to generate the QR code. I chose the Q error correction level (30% maybe?). Fewer bits with more error correction makes the QR code more durable and requires less camera resolution to read the code. Take a look at the difference.

Here is a minikey with Q error correction:


Here is a base-58 key with Q error correction:

Trade physical bitcoins: Economy > Marketplace > Goods > Collectibles
My signing address: 19mzFU4zFrZHkAkHSUta6LapJ6fTFJyhiH
casascius (OP)
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1135


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
June 16, 2013, 10:08:41 PM
 #30

Just generating 256 takes 9 seconds on my computer so a whole sheet would take about 10 minutes!

I will give it a go but its going to be slow.

Chrome seems to run javascript the fastest by far.

Generating minikeys requires a fair bit of throwing away possible candidates.  If those candidates are being generated randomly each time, the random number generation might be an easily removed bottleneck.  Simply generate ONE random candidate, and if it's not valid, increment it until it is.  The act of incrementing it is likely to be much faster than redoing the entire random generation.  Obviously, once you find a candidate, the next one must be random.

By "increment", I simply mean the following: look at the last character of the candidate, and increment it, UNLESS it was: H,N,k (in this case, increment it twice to skip illegal characters I,O,l), OR if it was 9 make it an A, OR if it was Z make it a (lowercase) a, OR if it was a z, then make it a 2 and repeat the incrementing process on the preceding character.  (Yes ordinarily it should be a 1, but I'm biased against the number 1 appearing in minikeys since they are the #1 cause of complaints when people type them as "l" and I have therefore eliminated them from all my series 2 coins, but they are otherwise still legal for minikeys)


Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
LAMarcellus
Full Member
***
Offline Offline

Activity: 180
Merit: 100


View Profile
June 17, 2013, 02:32:48 PM
 #31

I have a similar need.
See https://bitcointalk.org/index.php?topic=236521.new#new
Thank you!

The only way to deal with an unfree world is to become so absolutely free that your very existence is an act of rebellion. – Albert Camus
Bitcoin Grid
Newbie
*
Offline Offline

Activity: 18
Merit: 0



View Profile WWW
June 17, 2013, 04:40:27 PM
 #32

This makes mini keys but uses the javascript random number generator which is not good for cryptography i tried using the BitAddress SecureRandom function but i cant understand how it works. Can someone have a look at this?

Code:
//This code unsuitable for cryptographic purposes due to the use of Math.random();
//Bitcoin Grid - bitcoingrid.com
generateMiniKey: function (){
var possible = "23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
do{
var key = "S";
for( var i=0; i < 29; i++ ){
key += possible.charAt(Math.floor(Math.random() * possible.length));
}
} while (!Bitcoin.ECKey.isMiniFormat(key));
return key;
}
BitKoot
Member
**
Offline Offline

Activity: 113
Merit: 10



View Profile
June 17, 2013, 05:48:07 PM
Last edit: June 18, 2013, 09:03:43 AM by BitKoot
 #33

Ok, let's work together on this Smiley

This should do the trick using the SecureRandom random number generator from BitAddress:

[edit 18-06]: Added the incremental key altering suggested by casascius to make finding valid keys faster. Firefox and IE only take 8 seconds for a full sheet now, Chrome is even faster.

Code:
generateMiniKey: function () {
  var rng = new SecureRandom();
  var possible = "23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
  var key = "S";
  
  for(var i = 0; i < 29; i++) {
    // Get a secure random number. The first argument to the BigInteger constructor
    // is the maximum number of bits to use, the second argument is the random number generator.
    var randomNumber = this.getSecureRandomNumber(rng, 0, possible.length - 1);
    key += possible.charAt(randomNumber);
  }
  
  // Replace random characters at random positions in the key until we found a valid minikey        
  do {
    var keyIndex = this.getSecureRandomNumber(rng, 1, key.length - 1);
    var replacementChar = possible[this.getSecureRandomNumber(rng, 0, possible.length - 1)];
    key = key.replaceAt(keyIndex, replacementChar);
  } while (!Bitcoin.ECKey.isMiniFormat(key));
  return key;
},

getSecureRandomNumber: function(rng, lowerBound, upperBound) {
  var randomNumber = lowerBound - 1;
  
  do {
    randomNumber = new BigInteger(upperBound.toString(2).length, rng);
  }
  // Filter out any numbers which have the right amount of bits, but are outside the upperBound.
  while(randomNumber < lowerBound || randomNumber > upperBound);
  
  return randomNumber.intValue();
},

You'll also need this string prototype function:
Code:
String.prototype.replaceAt=function(index, character) {
  return this.substr(0, index) + character + this.substr(index+character.length);
};

Added minikey generation (works with QR and text) and the ability to add one row of custom text:



Now I need to improve the positioning and scaling of the text and QR codes, because I'm not completely satified yet.
Bitcoin Grid
Newbie
*
Offline Offline

Activity: 18
Merit: 0



View Profile WWW
June 18, 2013, 03:56:40 PM
 #34

My version is done, it runs best in chrome.

Javascript Casascius Aluminium Coins Printer (All JS In One File)

Source split in to separate files (As ZIP)
dave3k
Full Member
***
Offline Offline

Activity: 147
Merit: 100


Realbitcoin.info


View Profile WWW
June 18, 2013, 04:56:34 PM
 #35


Great work!

Was testing, then my printer run out off ink on the first sheet!  Angry
In other news, you finished the job faster then it took me to get the labels!

Please let me know your public key so I can 'buy' you some labels!  Tongue
Same goes for the next person to finish.

The one problem I did run across was the "change your paper size" text was acros the labels if using small margins,
but these could be edited out.

Realbitcoin.info
Bitcoin Grid
Newbie
*
Offline Offline

Activity: 18
Merit: 0



View Profile WWW
June 18, 2013, 05:28:16 PM
 #36


Great work!

Was testing, then my printer run out off ink on the first sheet!  Angry
In other news, you finished the job faster then it took me to get the labels!

Please let me know your public key so I can 'buy' you some labels!  Tongue
Same goes for the next person to finish.

The one problem I did run across was the "change your paper size" text was acros the labels if using small margins,
but these could be edited out.

Just delete line 10401 or do a ctrl-f for this and just remove it
Code:
doc.text(10,4,'When printing use the "actual size" option and change your paper size to '+ base.format);

I will make it smaller in v0.2
BitKoot
Member
**
Offline Offline

Activity: 113
Merit: 10



View Profile
June 18, 2013, 07:49:35 PM
Last edit: June 21, 2013, 12:26:55 PM by BitKoot
 #37

My version is done as well. I finaly managed to get the label and QR code placement better.  Chrome is the way to go. IE and Firefox struggle with the key generation which takes a lot longer than Chrome.

Link: BitAddress fork 0.1

I would like to hear some feedback. But please, try it on 'normal' paper first before trying it on actual sticker sheets Wink.

My version is done, it runs best in chrome.

Nice work Bitcoin Grid! I like the countdown when generating labels, and the fact that you made everything configurable. I have opted to try and find a best fit for the QR code and font sizes during code generation based on the label width.

Edit 21-06: Uploaded v 0.2. Sometimes the QR codes would come out blurry. This happened if the number of modules in the QR code was not a multiple of the number of pixels in the QR code width. Now by default the QR code width in pixels is a multiple of the modules in the QR code. If you want the code to be stretched to the maximum available width of the label, you can still do so by ticking the 'Allow QR scaling' checkbox.

I have also included jQuery. This will allow me to do more positioning and scaling improvements much more easily in the future (I plan on rewriting some of the old code to jQuery as well).

Link: BitAddress fork 0.2
dave3k
Full Member
***
Offline Offline

Activity: 147
Merit: 100


Realbitcoin.info


View Profile WWW
June 21, 2013, 04:43:39 PM
Last edit: June 21, 2013, 08:51:36 PM by dave3k
 #38

 Still waiting for my labels, but everything is working well.

Thanks again guys.
I have sent Bitkook And Bitcoin Grid 0.2 Btc

ba427a040ebdf74c4afddb62cdd214b537603a04d2ea382be3bdaafc8a639b4b
e75a3e4dad2fed5cd3a8778d24f1ef1d64581ddfd4fc2607f88019d8348f6236

Realbitcoin.info
piit79
Sr. Member
****
Offline Offline

Activity: 336
Merit: 250


Time for Plan ฿


View Profile
June 21, 2013, 07:13:11 PM
 #39

Great work! Kudos to you both. I will send specs of the round labels that can be purchased here in the UK soon when I get them.
casascius (OP)
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1135


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
June 21, 2013, 08:48:55 PM
 #40


So far, looks great!

Is there a way to not print the black circles?  (e.g. perhaps the CSS can be set such that the circle itself only appears on screen but not the paper)

Also is there a way to set the denomination as it appears in the sendmany command?  (it seems like perhaps it's hardcoded at 0.01)


This looks great too!  Same on the circles, any way to not print them?

Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
Bitcoin Grid
Newbie
*
Offline Offline

Activity: 18
Merit: 0



View Profile WWW
June 21, 2013, 09:30:10 PM
 #41


This looks great too!  Same on the circles, any way to not print them?
[/quote]

Just untick the "Show Circle Outline" box (top left)
BitKoot
Member
**
Offline Offline

Activity: 113
Merit: 10



View Profile
June 22, 2013, 08:28:46 AM
Last edit: June 22, 2013, 08:45:38 AM by BitKoot
 #42

Thanks again guys.
I have sent Bitkook And Bitcoin Grid 0.2 Btc

ba427a040ebdf74c4afddb62cdd214b537603a04d2ea382be3bdaafc8a639b4b
e75a3e4dad2fed5cd3a8778d24f1ef1d64581ddfd4fc2607f88019d8348f6236

Received. Thanks, really appreciate it!

So far, looks great!

Is there a way to not print the black circles?  (e.g. perhaps the CSS can be set such that the circle itself only appears on screen but not the paper)

Also is there a way to set the denomination as it appears in the sendmany command?  (it seems like perhaps it's hardcoded at 0.01)

Done and done: BitAddress fork v0.3
casascius (OP)
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1135


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
June 23, 2013, 05:51:12 AM
 #43

I am still good for the aluminum coin bounty but will be somewhat slow due to upcoming time commitments. I intend to send a bag to both of you guys.

Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
BitKoot
Member
**
Offline Offline

Activity: 113
Merit: 10



View Profile
June 23, 2013, 05:57:03 PM
 #44

I have made a few more improvements:
- Labels are shown individually right after they are generated. This also prevents the page from hanging in Firefox en IE.
- Custom text is shown regardless of the content type (QR code or key text).
- You can now enter custom bottom and top text.
- Top and bottom custom text is scaled to maximum width seperate from the scaling of the key text/qr code.
- Options are displayed nicer.
- Cleaned up the code.

Link: BitAddress fork 0.4

I am still good for the aluminum coin bounty but will be somewhat slow due to upcoming time commitments. I intend to send a bag to both of you guys.

Good to hear there's some coins comming this way Smiley, no hurries. Could you give a global time estimate?
Dougie
Full Member
***
Offline Offline

Activity: 211
Merit: 100


You are not special.


View Profile
June 23, 2013, 09:38:31 PM
 #45

Great job guys! These are really good. I will fund a selection of mine like this and let you know how they go.

I also want a few vanity ones with first bits at the bottom but I think it would be easier just to make them myself.

Lurking since 2011...
1J4DhU3q6RxxCTfAAcg5ExVK6FfxkmzkTH
BitKoot
Member
**
Offline Offline

Activity: 113
Merit: 10



View Profile
June 24, 2013, 10:46:45 AM
 #46

Great job guys! These are really good. I will fund a selection of mine like this and let you know how they go.

I also want a few vanity ones with first bits at the bottom but I think it would be easier just to make them myself.

I have hacked together a version where you can provide your own private keys: BitAddress fork dougie. The first labels are created based on the provided keys. When all provided keys are used, the remaining labels are created as normal (using generated keys).

You can input your own private keys (minikey or full key) in the 'Use these keys' field. The format you have to use is as follows: key_1;top_text_1;bottom_text_1;key_2;top_text_2;bottom_text_2

Let me know what you think. If this is a popular feature, I can implement it in a more permanent fasion (some better error checking etc.).
rogerwils
Newbie
*
Offline Offline

Activity: 16
Merit: 0


View Profile
June 24, 2013, 09:53:27 PM
 #47

The Bounty: One bag of 500 stickerable Aluminum Casascius Coins, including shipping.  These have the Bitcoin logo on the front, and a blank space for a sticker (up to 1.15" / 29mm in diameter) for you to print the content of your choice.

The Project: Fork BitAddress.org so that it can be used for printing full sheets of private key labels.

The Labels: http://www.onlinelabels.com/OL1025.htm

http://images.onlinelabels.com/Images/Products/OL6000/OL6000WX.png

How it should work:

  • The user enters label count wide and high per page (in this example, 6 wide and 8 high)
  • The user enters width of label and horizontal distance between labels (as well as height and vertical distance)
  • The user enters a horizontal and vertical positioning offset (so it works with their particular printer)
  • The user should be able to print a sheet of private keys after having bought the product linked to above.

In addition, there should be an easy way for the user to copy a list of the Bitcoin Addresses to the clipboard, so he can bulk-fund the addresses with the amount of his choice.  The list should be available in two formats: one being a simple CRLF-delimited list of addresses, and the other being a preformatted command for bitcoind to fund all the coins in a single transaction, example:

Code:
sendmany "" "{\"1Address1\": 0.01, \"1Address2\": 0.01, \"1Address3\": 0.01}"

WHAT SHOULD GO ON THE LABELS:

This should be possibly up to user's discretion.  They will be a tight fit.  Some users will want QR codes and others will rather save the space.  Some users will want the Bitcoin address on the labels, others might view that as unnecessary.  I would think most users would want to enter a denomination to be printed, since the aluminum coins don't come pre-denominated.  I am open to any reasonable interpretation of what a user is likely to want.


muy bueno Smiley
Dougie
Full Member
***
Offline Offline

Activity: 211
Merit: 100


You are not special.


View Profile
June 25, 2013, 06:41:40 AM
 #48

Great job guys! These are really good. I will fund a selection of mine like this and let you know how they go.

I also want a few vanity ones with first bits at the bottom but I think it would be easier just to make them myself.

I have hacked together a version where you can provide your own private keys: BitAddress fork dougie. The first labels are created based on the provided keys. When all provided keys are used, the remaining labels are created as normal (using generated keys).

You can input your own private keys (minikey or full key) in the 'Use these keys' field. The format you have to use is as follows: key_1;top_text_1;bottom_text_1;key_2;top_text_2;bottom_text_2

Let me know what you think. If this is a popular feature, I can implement it in a more permanent fasion (some better error checking etc.).
That's really good! Thanks very much for doing that. I think it is a very useful implementation, especially the way you've done it. Very easy to use. Now I'll work out how to generate loads of mini keys to find some vanity ones!

Lurking since 2011...
1J4DhU3q6RxxCTfAAcg5ExVK6FfxkmzkTH
BitKoot
Member
**
Offline Offline

Activity: 113
Merit: 10



View Profile
June 25, 2013, 07:51:13 PM
 #49

That's really good! Thanks very much for doing that. I think it is a very useful implementation, especially the way you've done it. Very easy to use. Now I'll work out how to generate loads of mini keys to find some vanity ones!

You're welcome!

Considering the vanity minikeys. Are you talking about the private keys, or the corresponding public keys? If you're talking about the private keys: throw in a bounty and I can make a minikey vanity generator for you Smiley. I have done a quick test, and generated a sheet full of (private) minikeys starting with 'SBitKoot'. The page finished loading in a few seconds. Generating vanity public keys? That might take some more time...
Dougie
Full Member
***
Offline Offline

Activity: 211
Merit: 100


You are not special.


View Profile
June 26, 2013, 06:14:55 AM
 #50

That's really good! Thanks very much for doing that. I think it is a very useful implementation, especially the way you've done it. Very easy to use. Now I'll work out how to generate loads of mini keys to find some vanity ones!

You're welcome!

Considering the vanity minikeys. Are you talking about the private keys, or the corresponding public keys? If you're talking about the private keys: throw in a bounty and I can make a minikey vanity generator for you Smiley. I have done a quick test, and generated a sheet full of (private) minikeys starting with 'SBitKoot'. The page finished loading in a few seconds. Generating vanity public keys? That might take some more time...
I was more thinking the corresponding public keys. I was just going to let my computer generate some mini keys for a while and sift out a few 3 letter ones for friends so I can put the first bits from blockchain.info on the coins and show them how they can see their balance.

Lurking since 2011...
1J4DhU3q6RxxCTfAAcg5ExVK6FfxkmzkTH
BitKoot
Member
**
Offline Offline

Activity: 113
Merit: 10



View Profile
June 27, 2013, 07:39:09 PM
 #51

I have made some UI improvements to the version supporting user provided private keys. By default the field to input custom private keys is hidden. If you check the box to use custom keys the field appears along with some text explaining how to use it.

BitAddress fork 0.5

Functionally it is the same as the 'dougie' version. I've implemented all the functionality requested by casascius and will leave it at this. I'm still open for suggestions/feature requests though.


I was more thinking the corresponding public keys. I was just going to let my computer generate some mini keys for a while and sift out a few 3 letter ones for friends so I can put the first bits from blockchain.info on the coins and show them how they can see their balance.

That's a nice idea for introducing friends to bitcoin! I'll keep that in mind.
dave3k
Full Member
***
Offline Offline

Activity: 147
Merit: 100


Realbitcoin.info


View Profile WWW
June 27, 2013, 08:02:18 PM
 #52

I have made some UI improvements to the version supporting user provided private keys. By default the field to input custom private keys is hidden. If you check the box to use custom keys the field appears along with some text explaining how to use it.

BitAddress fork 0.5

Functionally it is the same as the 'dougie' version. I've implemented all the functionality requested by casascius and will leave it at this. I'm still open for suggestions/feature requests though.


I was more thinking the corresponding public keys. I was just going to let my computer generate some mini keys for a while and sift out a few 3 letter ones for friends so I can put the first bits from blockchain.info on the coins and show them how they can see their balance.

That's a nice idea for introducing friends to bitcoin! I'll keep that in mind.

Hey, I was wondering how easy it would be to set up to print the qr codes for the public keys in the same style?

This way it would be posible to print the private keys then larger stickers with the public key would stick over the top (Back to back).

I know there are other way to do this, however think it would be nice built in.

Realbitcoin.info
casascius (OP)
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1135


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
June 28, 2013, 05:53:11 AM
 #53

I have made some UI improvements to the version supporting user provided private keys. By default the field to input custom private keys is hidden. If you check the box to use custom keys the field appears along with some text explaining how to use it.

BitAddress fork 0.5

Functionally it is the same as the 'dougie' version. I've implemented all the functionality requested by casascius and will leave it at this. I'm still open for suggestions/feature requests though.

Thanks - I have played with it for a bit just so I could produce the photo below.  I found a bit of difficulty on the sheet of labels I had, horizontal spacing of the labels differed from vertical spacing.  It might be a good idea to make them two separate settings.  Anyway here is a photo of some coins.  There are roughly 500 in the bag.


Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
BitKoot
Member
**
Offline Offline

Activity: 113
Merit: 10



View Profile
June 28, 2013, 10:43:04 AM
 #54

Hey, I was wondering how easy it would be to set up to print the qr codes for the public keys in the same style?

This way it would be posible to print the private keys then larger stickers with the public key would stick over the top (Back to back).

I know there are other way to do this, however think it would be nice built in.

It's pretty easy to add. See the link below for the result. You can now choose between showing the public or the private key on the label. You can also input your own public or private key (check the 'use custom keys' box). When generating labels for public keys provided in the 'custom keys' field, keep in mind that the Key pair list (CSV) will not contain the private keys.

Thanks - I have played with it for a bit just so I could produce the photo below.  I found a bit of difficulty on the sheet of labels I had, horizontal spacing of the labels differed from vertical spacing.  It might be a good idea to make them two separate settings.  Anyway here is a photo of some coins.  There are roughly 500 in the bag.

Great picture, can't wait to hand out some self-labeled coins to family and friends Smiley

I have added the option to specify horizontal and vertical spacing seperatly: BitAddress fork 0.6.
Bitcoin Grid
Newbie
*
Offline Offline

Activity: 18
Merit: 0



View Profile WWW
June 28, 2013, 02:05:14 PM
 #55

I have made some UI improvements to the version supporting user provided private keys. By default the field to input custom private keys is hidden. If you check the box to use custom keys the field appears along with some text explaining how to use it.

BitAddress fork 0.5

Functionally it is the same as the 'dougie' version. I've implemented all the functionality requested by casascius and will leave it at this. I'm still open for suggestions/feature requests though.

Thanks - I have played with it for a bit just so I could produce the photo below.  I found a bit of difficulty on the sheet of labels I had, horizontal spacing of the labels differed from vertical spacing.  It might be a good idea to make them two separate settings.  Anyway here is a photo of some coins.  There are roughly 500 in the bag.

https://en.bitcoin.it/w/images/en/thumb/7/7b/Casascius_Aluminum_Coins_bag_500.jpg/450px-Casascius_Aluminum_Coins_bag_500.jpg

How does my version look when printed?
https://bitcoingrid.com/jsprinter/jsprinter.v0.1.html
casascius (OP)
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1135


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
June 28, 2013, 02:34:35 PM
 #56

How does my version look when printed?
https://bitcoingrid.com/jsprinter/jsprinter.v0.1.html

I will try a batch soon, that was a single partial sheet of labels I have lying around (hence my off centeredness, I got exactly one attempt), I'll swing by OfficeMax for some more.

Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
BitKoot
Member
**
Offline Offline

Activity: 113
Merit: 10



View Profile
June 29, 2013, 05:59:03 PM
 #57

The Project: Fork BitAddress.org so that it can be used for printing full sheets of private key labels.

I finally came around to figuring out GitHub. I have forked your Bitcoin Address Utility to support Litecoin and Litecoin minikeys (smoothie could use it for his physical LTC project).

Would you like the forked BitAddress.org code to be uploaded to GitHub as an actual fork?
BitKoot
Member
**
Offline Offline

Activity: 113
Merit: 10



View Profile
July 02, 2013, 05:54:30 PM
 #58

Casascius,

Any update? I understand you must be busy with the launch of a new set of coins (very nice ones btw), and some patent trolls at work. But I would like a quick update.

Are you happy with the current result?
Can the result be added as a fork on GitHub?
Do you have an ETA on sending the coins?
BitKoot
Member
**
Offline Offline

Activity: 113
Merit: 10



View Profile
August 15, 2013, 05:48:13 PM
 #59

I received the 500 coins today:



Thanks! I'll be handing out some to friends and family to introduce them to Bitcoin.
Pages: 1 2 3 [All]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!