EM-Bitcoin
The Bitcoin protocol implemented using Ruby's EventMachine. Initially extracted from bitcoin-ruby.
Using EventMachine::Bitcoin::Connection
to connect to the Bitcoin network
require 'em_bitcoin'
gem 'em-bitcoin'
Remember that you always need to start the EventMachine event loop. You can't just do this:
EventMachine::Bitcoin::Connection.connect_random_from_dns
You'll need to do this:
EventMachine.run do
EventMachine::Bitcoin::Connection.connect_random_from_dns
end
You can override the EventMachine::Connection methods to provide your application-specific logic. Such as:
class TxCounter < EventMachine::Bitcoin::Connection
def post_init
super
@tx_count = 0
end
def receive_data(data)
super
@tx_count += 1
end
def unbind
puts "Total transactions were: #{@tx_count}!"
end
end
EM.run { TxCounter.connect_random_from_dns }
TODO
- Put lisence in gemspec
- Rework the integration points to both EM and the Bitcoin parser
- Write some tests
- Write some examples
License
Available here: COPYING