Advertisement
Guest User

bitURI

a guest
Sep 11th, 2010
2,704
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. A proposed URI scheme for bitcoin. Revision t1, nearly not incomplete.
  2. (EBNF-like notion used)
  3.  
  4. uri := schema (":" item)+
  5. schema := ["x-"] "btc"
  6. item := (thing [("?" label)+] ";")+ [action]
  7. thing := address | private_key | public_key | raw_transaction | value | custom
  8. address := "addr=" bitcoin_address
  9. private_key := "privkey=" encoded_private_key
  10. public_key := "pubkey=" encoded_public_key
  11. raw_transaction := "rawtxn=" encoded_raw_transaction
  12. value := "value=" decimal | "value=???"
  13. action := "send" | "store"
  14. custom := "x-" customParam "=" customParamValue
  15.  
  16. encoded_raw_transaction is a base64url encoded transaction in Bitcoin network format.
  17. encoded_private_key is a base64url encoded private key used by Bitcoin.
  18. encoded_public_key is a base64url encoded public key used by Bitcoin.
  19. address is a Bitcoin address, as used by Bitcoin.
  20. value is the number of bitcoins associated with the data. This MUST be specified in the same way as 0.3.x versions of Bitcoin: nValue / 100,000,000.
  21. label is a short string describing the previous "thing". The Bitcoin client MAY display and/or record this label, but if it records the label it SHOULD allow the user to change or remove it first.
  22. action is "send" when the user is expected to send bitcoins to the specified public key or address, and "store" when the user is expected to store or import the data.
  23.  
  24. If two of the same type of parameter are given in one "item", the Bitcoin client SHOULD give the user a choice of which value to actually use.
  25.  
  26. Padding is NOT RECOMMENDED for base64url-encoded data.
  27.  
  28. Examples:
  29.  
  30. x-btc:addr=1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD?theymos;value=50;send
  31. Send 50 BTC to address 1NX... (label "theymos").
  32.  
  33. x-btc:addr=1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD;value=50;value=0.01;send
  34. Send 50 BTC OR 0.01 BTC to 1NX...
  35.  
  36. x-btc:addr=1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD?theymos;value=50;send:addr=1Gxy2mmsEdYYQ3Lve4kyNfvzHNfdvKP2fj?abc?def;value=100.2;send
  37. Send 50 BTC to address 1NX... (label "theymos") AND 100.20 BTC to address 1Gxy... (label "abc" OR "def").
  38.  
  39. x-btc:addr=1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD?theymos;store
  40. Store 1NXY... in your address book with the label "theymos".
  41.  
  42. x-btc:pubkey=Ad0a...;send
  43. Open a "Send bitcoins" dialog for the public key Ad0a... You need to fill in any value and label information.
  44.  
  45. x-btc:pubkey=Pm_W...;privkey=AJC86...;store
  46. Add public key Pm_W... to your wallet and rescan the block chain for transactions to it. Any bitcoins gotten with this keypair SHOULD be immediately and automatically sent to a new, secret address.
  47.  
  48. x-btc:rawtxn=AeOc...;store
  49. Act as though you received the transaction AeOc... from one of your network peers.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement