Bitcoin Forum
September 16, 2019, 11:49:24 PM *
News: If you like a topic and you see an orange "bump" link, click it. More info.
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 [50] 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 ... 112 »
981  Bitcoin / Wallet software / Re: libbitcoin on: November 02, 2011, 10:19:20 PM
Command line utilities for messing around with private keys and creating your own transactions:
982  Bitcoin / Development & Technical Discussion / subvertx command line utilities (proof of concept using libbitcoin) on: November 02, 2011, 10:18:04 PM
These are a simple set of utilities for working with the bitcoin network/protocol. Together you can use them as a 'flyweight' client. I like small sets of inter-working programs because it is the UNIX philosophy about building small bricks which you can piece together to create a set of highly configurable inter-locking mechanism of programs and daemons.

This is a proof of concept built off of the work-in-progress libbitcoin.

Subvertx is a suite of 4 tools:
- poller, downloads the blockchain from a bitcoind into a PostgreSQL database.
- balance, queries the PostgreSQL database downloaded with poller to find the balance of a bitcoin address.
- priv, create a new private key, sign data, verify data or show the bitcoin address of that key.
- mktx, connects to a bitcoind and sends some money from an output to a new address. You can use this in conjunction with a site like as a tool to make transactions very simply. Or even make offline transactions or use it like a super lightweight client that can run on embedded devices.
- txrad, like the website It connects to 100 random nodes and then monitors for transaction messages. Simply run txrad.

Show help:
genjix@random:~/subvertx$ priv
Usage: priv [COMMAND] [ARGS]...

The priv commands are:
  new Generate a new private key and output to STDOUT
  sign Sign the next argument using the private key in STDIN
  verify Verify the next argument using the private key in STDIN
  address show the associated bitcoin address

genjix@random:~/subvertx$ mktx
Usage: mktx COMMAND [ARGS]...


  create Create a new transaction and output the binary data
  send Send a transaction to the network, reading from STDIN


 -p, --previous-output Previous output in the form NAME@OUT:INDEX
 -k, --keypair Load a keypair with an identifier NAME@FILE
A single dash - for FILE will load from STDIN
 -r, --recipient Specify a destination ADDRESS:AMOUNT
AMOUNT uses internal bitcoin values
 0.1 BTC = 0.1 * 10^8 = 1000000
 -H, --host Host of bitcoin node
 -P, --port Port for bitcoin node
 -h, --help This help text

Please email suggestions and questions to <>.

Make a new private key, sign and verify a transaction hash:
genjix@random:~/subvertx$ priv new > /tmp/private_key
genjix@random:~/subvertx$ priv sign f5cffc95a4a83c23cb9f666c7cf552f27d9845778bb09a98d5169c461483ba41 < /tmp/private_key > signed_data
genjix@random:~/subvertx$ priv verify f5cffc95a4a83c23cb9f666c7cf552f27d9845778bb09a98d5169c461483ba41 "`cat signed_data`" < /tmp/private_key

Show your bitcoin address:
genjix@random:~/subvertx$ priv address < /tmp/private_key

Send bitcoins (offline & flyweight transactions possible)

This is done in 2 steps: creating the transaction, then piping it to send the transaction somewhere. Pipes allow you to do really clever things like send to multiple nodes, send it over a network file share, buffer it to send later (like on USB stick with a different machine that doesn't have your private key).

$ mktx
Usage: mktx COMMAND [ARGS]...


  create    Create a new transaction and output the binary data
  send      Send a transaction to the network, reading from STDIN


 -p, --previous-output  Previous output in the form NAME@OUT:INDEX
 -k, --keypair      Load a keypair with an identifier NAME@FILE
            A single dash - for FILE will load from STDIN
 -r, --recipient    Specify a destination ADDRESS:AMOUNT
            AMOUNT uses internal bitcoin values
              0.1 BTC = 0.1 * 10^8 = 1000000
 -H, --host     Host of bitcoin node
 -P, --port     Port for bitcoin node
 -h, --help     This help text

Please email suggestions and questions to <>.

There are 2 commands there. The 'create' actually constructs the transaction and then dumps its binary network format to STDOUT. 'send' reads from STDIN and sends it to the network. By default it sends to localhost:8333, but you can change it using the --host and --port options.

A transaction consists of inputs. You can use blockexplorer to look them up. Here are some examples.

1. We want to send from transaction c524c555aad1932c24c26ec20439a9caefc49f7c0df6d6bccced890ef980b45c's 0th output (which was sent to an address we own) to 2 addresses: 0.02 BTC to 12oabCifvHuxzXtYVGhkxVfWZDvKcU743s and 0.58 BTC to 14DDgj2r8WQEwfTDEjJFBn3wRnHmXzgB3z

There is 1 previous output:


There are 2 recipients:


Note that we use internal BTC amounts (decimal value * 10^8 - see help text).

Now to spend that output, it has to have been sent to an address you own, hopefully generated using the priv tool earlier Wink

$ mktx create -p priv@c524c555aad1932c24c26ec20439a9caefc49f7c0df6d6bccced890ef980b45c:0 -k priv@keys/privkey -r 12oabCifvHuxzXtYVGhkxVfWZDvKcU743s:2000000 -r 14DDgj2r8WQEwfTDEjJFBn3wRnHmXzgB3z:58000000
... funny binary output here ...

If we wish to store that output we can use a redirection > to save it. Maybe store it on your USB and take it to another computer. Or we can pipe it straight to the send command.

$ mktx create -p priv@c524c555aad1932c24c26ec20439a9caefc49f7c0df6d6bccced890ef980b45c:0 -k priv@keys/privkey -r 12oabCifvHuxzXtYVGhkxVfWZDvKcU743s:2000000 -r 14DDgj2r8WQEwfTDEjJFBn3wRnHmXzgB3z:58000000 | mktx send
1 peers connected.
s: version (85 bytes)
r: version (85 bytes)
s: verack (0 bytes)
r: verack (0 bytes)
s: tx (258 bytes)
c5 3e a3 b4 d4 4c cf 67 31 73 17 b2 bd 8d 0a 99 46 d8 2d 67 6c 02 d0 d1 13 2b 11 8f 95 d0 7f 57

The hash at the end is your transaction hash. If you do: tail -f .bitcoin/debug.log, or you look it up on you will see that hash without the spaces (i.e CTRL-F for c53ea3 to see your transaction).

If you noticed, I loaded several private keys there using -k (or --keypair) KEYPAIR-NAME@FILENAME. You then reference which keypair belongs to which input this way.

2. Sending from three, different outputs to 14DDgj2r8WQEwfTDEjJFBn3wRnHmXzgB3z.

Previous outputs:


All the outputs (in this case) use a different private key: ./keys/foo, ./keys/bar and ./keys/abc.

We can load the keys and name them (to have a way to refer to them) using:

 -k foo@keys/foo
 -k bar@keys/bar
 -k abc@keys/abc

And then indicate to mktx which key belongs with which inputs from above:


1 recipient:


$ mktx create -p foo@00535291532821f2e4879cf670f61396be32b9579400ae1119497f36f268eb40:1 -p bar@637f001eb4cbe165946c02a56bcb73822610f5886516169f98da6252266b7d8a:1 -p abc@85b423b9c8c5c5277575b87d94dbcd4f87c1be578756eff6a9fde8b7d55749fb:1 -k foo@keys/foo -k bar@keys/bar -k abc@keys/abc -r 14DDgj2r8WQEwfTDEjJFBn3wRnHmXzgB3z:60000000 | mktx send
1 peers connected.
s: version (85 bytes)
r: version (85 bytes)
s: verack (0 bytes)
r: verack (0 bytes)
s: tx (581 bytes)
c5 24 c5 55 aa d1 93 2c 24 c2 6e c2 04 39 a9 ca ef c4 9f 7c 0d f6 d6 bc cc ed 89 0e f9 80 b4 5c


To use the poller you first need to import the schema which can be found in /usr/share/libbitcoin/bitcoin.sql (a pre-downloaded blockchain is here).

# do all the postgres stuff to make a new database
$ sudo su postgres
# createuser genjix
# psql
> quit
# exit

$ psql bitcoin < /usr/share/libbitcoin/bitcoin.sql

# it is a good idea to run this in screen
$ screen -S poller
$ poller bitcoin genjix psqlpassword localhost
... starts downloading the blockchain into postgresql
# now close the terminal. You can re-open the terminal with screen -x poller

Poller is doing full blockchain validation. It will take a long time since it's an SQL database and it's validating all the blocks.

Balance needs the full blockchain otherwise you might not get an up-to-date balance reported back. It's fairly simple to use:
$ balance postgresql:database:username:password 1jkjsjkdskjb2kkjbkjdsk

Ubuntu packages

The PPA can be viewed on launchpad.

Add these 2 lines to the end of your /etc/apt/sources.list
deb oneiric main
deb-src oneiric main

$ wget -q "" -O- | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install subvertx

This PPA also has a package for libbitcoin-dev although the API is undocumented at the moment. Grin

Gentoo ebuild

Kamil Domański has made a gentoo ebuild.

layman -a bitcoin
emerge subvertx

Source installation instructions

Source code for the non-Ubuntu paupers:

You will need:

  - g++ 4.6
  - cppdb
  - boost
  - libpq-dev
  - postgresql

Build cppdb using the instructions on their site.

  $ svn co cppdb-trunk
  $ cd cppdb-trunk
  $ mkdir build
  $ cd build

You can use -DCMAKE_INSTALL_PREFIX if you wish to install to a non-standard place such as a local directory.

  $ make
  # make install

Clone repo and build.

  $ git clone git://
  $ cd libbitcoin
  $ autoreconf -i
  $ ./configure
  $ make
  # make install

Don't forget to initialise and create a database (see first post above for more details how).

  $ psql bitcoin < bitcoin.sql

Same for the subvertx suite

  $ git clone git://
  $ cd subvertx
  $ autoreconf -i
  $ ./configure
  $ make
  # make install

I can't stress enough for people to use this at their own peril as it's alpha software.

Thanks goes to,

Kamil Domański (kdomanski)
Jan Engelhardt (se7) <>
Patrick Strateman (phantomcircuit)
Denis Roio (jaromil)
Amir Taaki (genjix) <>
983  Other / Off-topic / Re: Judge beats daughter for using the internet on: November 02, 2011, 07:49:36 PM
Here's a mirror:
984  Bitcoin / Bitcoin Discussion / Re: ANNOUNCEMENT: Buy Bitcoins with Paypal or Credit Cards through Memory Dealers! on: November 02, 2011, 06:56:38 PM
I don't think the gold bars are all that useful/needed.

What would be cool would be a 100 BTC pack of 0.1 BTC coins.
985  Other / Off-topic / Re: Judge beats daughter for using the internet on: November 02, 2011, 02:18:07 PM
Youtube is taking the videos down:
986  Bitcoin / Bitcoin Discussion / Re: Bitcoin, where are you?! Wikileaks Suspends Publishing - 'banking blockade' on: November 02, 2011, 01:26:24 PM
Julian Assange lost his appeal and is being extradited to Sweden:
987  Other / Off-topic / Judge beats daughter for using the internet on: November 02, 2011, 01:02:43 PM

2004: Aransas County Court-At-Law Judge William Adams took a belt to his own teenage daughter as punishment for using the internet to acquire music and games that were unavailable for legal purchase at the time. She has had ataxic cerebral palsy from birth that led her to a passion for technology, which was strictly forbidden by her father's backwards views. The judge's wife was emotionally abused herself and was severely manipulated into assisting the beating and should not be blamed for any content in this video. The judge's wife has since left the marriage due to the abuse, which continues to this day, and has sincerely apologized and repented for her part and for allowing such a thing, long before this video was even revealed to exist. Judge William Adams is not fit to be anywhere near the law system if he can't even exercise fit judgement as a parent himself. Do not allow this man to ever be re-elected again. His "judgement" is a giant farce. Signed, Hillary Adams, his daughter.
988  Economy / Marketplace / Re: Intersango- new bank account, iceburg, GTC/FOK/IOC orders and site updates on: November 02, 2011, 11:32:52 AM
I can confirm that the new bank is working.

Iceburg will indeed be available through the website.

I wanted to give people a progress update, since it has been a week since we last said anything, but the rest of my group wanted to check that the bank works first before we put the details up. Changes should be out later today unless Q&A finds any significant problems.

If there is a real urgency to get funds on, you can message support for the bank details.
989  Bitcoin / Bitcoin Discussion / Re: The Bitcoin Hair Cut, Place, and Blow Dry - MONTREAL on: November 02, 2011, 01:56:23 AM
I’ve accepted bitcoins at my wife’s salon in London (UK) since July. Advertised on google/our site/yell/tl/local borough’s site/etc. Had a dozen of mobile message payments (new thing as well) since then but not a single request to pay in BTC. It is pointless for a service business for now - some people ask but only for WTF/freak factor, more embarrassing than profitable Sad

Well I live in London and was looking for real life services there. I did not see your salon on the map ever:

You should put your details, cost, address up there. There are a few bitcoin people in London.
990  Bitcoin / Bitcoin Discussion / Re: $10 million toward making Bitcoin successful on: November 01, 2011, 11:25:53 PM
Services to actually make bitcoin useful beyond speculation. Developers to battle harden and secure the software underlying the network.

Everything else is secondary. With services that people want, fully licensed large scale exchanges would move into bitcoin. The legal precedent thing is a good idea though.
991  Bitcoin / Project Development / Re: Intersango exchange (formerly Britcoin) on: November 01, 2011, 10:59:47 PM
Update on bank situation:
992  Economy / Marketplace / Intersango- new bank account, iceberg, GTC/FOK/IOC orders and site updates on: November 01, 2011, 10:05:15 PM
Update 04 November 2011:
We now have gained access to our HSBC records from last week. Missing deposits will be credited this weekend. A change in the format of the records means there is a slight delay in us important the statements. Accounts should be credited on Sunday. Withdrawals are still delayed, but the backlog should start and finish next week. Apologies for any delay.

HSBC problems

One week ago our HSBC account was shut down suddenly without warning overnight. According to HSBC's own Terms & Conditions: "7.1 If we wish to close your account, we will give you at least 2 months’ prior notice in writing unless there are circumstances in which we can justify ending our relationship earlier."

It is very rare for a bank account to be terminated out of the blue. The normal procedure is to give at least 30 days notification before terminating accounts. Many of the banks in the UK (Lloyds, Barclays, Natwest) state this in their T&C. Our lawyer is looking into this as HSBC has damaged our reputation and trust which we work hard to maintain. As a side effect, deposits from last week made into our HSBC account will be delayed until we are able to obtain the records (which HSBC has not handed us yet).

Lloyds TSB new account

Earlier this year, we were banking with Lloyds TSB before being asked to take our business elsewhere. We have been in contact with Lloyds TSB who have assigned us a personal account manager who is also the manager of the bank branch. It turned out the previous account manager was ill equipped to handle the scale of our volume and is a person in a call centre in Birmingham, and sees 300+ accounts a day. This time around we've been assigned a manager who handles 30 accounts a month due to the complicated nature of our operations and the scale of our turnover.

Lloyds TSB were very keen to have our operations back, and a formal complaint has been launched by the bank staff at the way we were dealt with. We were told that our treatment was totally unacceptable as we're a high value customer.

We are accepting deposits again with Lloyds TSB (details can be found on the GBP accounts page). Deposits may be a little slower than usual (possibly up to a week) as registration for their online service is underway. Once that's done, we'll be processing deposits immediately. Withdrawals may take longer as we are in the midst of transitioning out of HSBC into Lloyds. We are also in talks with a few other banks who have shown a sudden interest in our business.

Iceberg and GTC/FOK/IOC orders

We have added iceberg orders to the site. Iceberg orders allow someone to place an order without indicating the true volume of that order. Placing an order of 100 BTC with an iceberg value of 10 BTC, means only 10 BTC will ever show of that 100 BTC at a time. As the order is fulfilled, the iceberg amount will remain refilled until the remaining order amount drops under 10 BTC.

We have added two new order types (FOK and IOC).

Good Til Cancelled is your normal order type. Remains on the orderbook until it has been cancelled.

Fill Or Kill will only fill an order if a corresponding order can completely cover it.

Instant Or Cancel will place an order the orderbook much like GTC, trying to fullfill it as much as possible. It then immediately expires and the remaining order is cancelled.

Site changes

Various changes have been made throughout the site to improve the style and usability. There are more coming in the next few weeks.

Our company information has been added to the About us page. Detailed information on our fees can be found on our fees page.

Questions or suggestions can be directed to . We're also available on Freenode IRC #bitcoinconsultancy (look for genjix or phantomcircuit). Business proposals should be sent to our Director, Donald Norman (

We also encourage people to register for the European Bitcoin Conference which is being held in cooperation with us, and for developers to have a look at some of our community projects such as libbitcoin or subvertx.

Amir Taaki
993  Bitcoin / Bitcoin Discussion / Re: Why are banking services used for bitcoin trading? on: November 01, 2011, 06:18:51 PM
Because if you transfer cold hard cash as a business in any significant volume you will get arrested for money laundering. Even if you check documents and ID, but end up with bad money, you will go to prison. I strongly recommend against those services unless they are highly regulated and following KYC laws.

Not because I support high levels of regulation, but to protect people from going to jail needlessly.
994  Bitcoin / Bitcoin Discussion / Re: someone fucked up and lost ALOT of money on: November 01, 2011, 09:30:05 AM
Also, (reading the same webpage I saw the OP_FALSE on) I do see that a number of commands were disabled "for security reasons", so there already are plenty of eyes ensuring that malicious scripts can't crash the blockchain.  The disabled commands are described as: 4 commands to split or combine strings, 4 bitwise operations, and 7 commands that multiply or divide numbers.

There's a Solver in the code that matches transactions to only 2 allowed templates/formats. Without passing this template, transactions cannot make it into the memory pool and don't get propagated.

If you wish to make a new tx type you have to lobby for it to be included in the list of templates.
995  Other / Off-topic / Re: ACTA on: November 01, 2011, 09:18:16 AM
Fact is the big content industries are totally corrupt. Anything to punish or hurt them is good.
996  Bitcoin / Bitcoin Discussion / Re: The Dangerous State of Bitcoin (.com) on: October 31, 2011, 10:41:53 PM
Does anyone here go to,,, ...
997  Bitcoin / Development & Technical Discussion / Re: SQL schema for the blockchain ? on: October 31, 2011, 06:26:00 PM
998  Bitcoin / Bitcoin Discussion / Re: CoinExchanger - Advanced Bitcoin Trading Platform on: October 31, 2011, 03:01:29 PM
You've put a lot of effort into making that site, and developing an exchange is not easy Smiley I started out similar to you with Britcoin, but have learnt along the way a lot about the law and how finance works. Trust me, you aren't covered by the law and there's serious potential for trouble if you're not careful.

Best of luck. Although I'd advise you that the exchange market is already pretty saturated so you're unlikely to change much. Might be good to help develop some of the other desperately needed/severely under-developed sectors of the bitcoin economy. Especially since you have the skills to put to good use.

I can understand your frustration from you having the best of intentions, and feel hard done by the attacks here. But you have to realise that the bitcoin community has had it bad with scammers and inexperienced site operators. Therefore I can sympathise with the comments here.

There's so much to learn about running an effective exchange technically (something MtGox still hasn't got right). I began only on my own, but was lucky along the way to pick up a great team of various experts. The skepticism of any new exchange is totally understandable given the past history in the bitcoin world.

Also to the others: the exchange is nice. I checked it out and he's implemented some nice security features. A scam site wouldn't go to this effort necessarily by going to this extra effort.

The only way new businesses will succeed in the bitcoin economy is if people try them out and give them a chance. Not every new site is a scam.
999  Bitcoin / Development & Technical Discussion / Re: "12. Check that nBits value matches the difficulty rules" on: October 31, 2011, 11:45:46 AM
you go to the previous block and find what the next difficulty should be. the bits returned should be the same as the current block's bits.

the function is called GetNextWorkRequired and it takes the previous block to the current one as an argument
1000  Bitcoin / Bitcoin Discussion / Re: someone fucked up and lost ALOT of money on: October 31, 2011, 01:16:08 AM
OP_FALSE is referenced nowhere and OP_0 only exists in GetOpName(...)

GetOp2 reads the opcode and then if it's less than PUSHDATA4, will branch to the push data stack part, and then on line 538 if (opcode < OP_PUSHDATA1) nSize will be set to 0.

EvalScript also interprets it as a push n bytes to the stack in the if ( ... && 0 <= opcode ...) after the previous first block of if (opcode ==  ...).
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 [50] 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 ... 112 »
Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!