Merge pull request #2 from fiksn/master

Make the code work with latest btcsuite repo changes
This commit is contained in:
Andrey Petrov 2015-05-27 01:07:40 -04:00
commit 601a21dec7
5 changed files with 25 additions and 25 deletions

View File

@ -1,19 +1,19 @@
package main package main
import ( import (
"github.com/btcsuite/btcwire" "github.com/btcsuite/btcd/wire"
) )
type Client struct { type Client struct {
btcnet btcwire.BitcoinNet // Bitcoin Network btcnet wire.BitcoinNet // Bitcoin Network
pver uint32 // Protocl Version pver uint32 // Protocl Version
userAgent string // User Agent userAgent string // User Agent
} }
func NewClient(userAgent string) *Client { func NewClient(userAgent string) *Client {
return &Client{ return &Client{
btcnet: btcwire.MainNet, btcnet: wire.MainNet,
pver: btcwire.ProtocolVersion, pver: wire.ProtocolVersion,
userAgent: userAgent, userAgent: userAgent,
} }
} }

View File

@ -4,7 +4,7 @@ import (
"sync" "sync"
"time" "time"
"github.com/btcsuite/btcwire" "github.com/btcsuite/btcd/wire"
) )
// TODO: Break Client/Peer/Crawler into separate modules. // TODO: Break Client/Peer/Crawler into separate modules.
@ -24,7 +24,7 @@ type Crawler struct {
type Result struct { type Result struct {
Node *Peer Node *Peer
Peers []*btcwire.NetAddress Peers []*wire.NetAddress
} }
func NewCrawler(client *Client, seeds []string) *Crawler { func NewCrawler(client *Client, seeds []string) *Crawler {
@ -80,7 +80,7 @@ func (c *Crawler) handleAddress(address string) *Result {
} }
// Send getaddr. // Send getaddr.
err = peer.WriteMessage(btcwire.NewMsgGetAddr()) err = peer.WriteMessage(wire.NewMsgGetAddr())
if err != nil { if err != nil {
logger.Warningf("[%s] GetAddr failed: %v", address, err) logger.Warningf("[%s] GetAddr failed: %v", address, err)
return &r return &r
@ -110,7 +110,7 @@ func (c *Crawler) handleAddress(address string) *Result {
} }
switch tmsg := msg.(type) { switch tmsg := msg.(type) {
case *btcwire.MsgAddr: case *wire.MsgAddr:
r.Peers = append(r.Peers, tmsg.AddrList...) r.Peers = append(r.Peers, tmsg.AddrList...)
if firstReceived == -1 { if firstReceived == -1 {

View File

@ -5,7 +5,7 @@ package main
import ( import (
"encoding/base32" "encoding/base32"
"github.com/btcsuite/btcwire" "github.com/btcsuite/btcd/wire"
"net" "net"
"strconv" "strconv"
"strings" "strings"
@ -14,7 +14,7 @@ import (
var onioncatrange = net.IPNet{IP: net.ParseIP("FD87:d87e:eb43::"), var onioncatrange = net.IPNet{IP: net.ParseIP("FD87:d87e:eb43::"),
Mask: net.CIDRMask(48, 128)} Mask: net.CIDRMask(48, 128)}
func Tor(na *btcwire.NetAddress) bool { func Tor(na *wire.NetAddress) bool {
// bitcoind encodes a .onion address as a 16 byte number by decoding the // bitcoind encodes a .onion address as a 16 byte number by decoding the
// address prior to the .onion (i.e. the key hash) base32 into a ten // address prior to the .onion (i.e. the key hash) base32 into a ten
// byte number. it then stores the first 6 bytes of the address as // byte number. it then stores the first 6 bytes of the address as
@ -29,7 +29,7 @@ func Tor(na *btcwire.NetAddress) bool {
// ipString returns a string for the ip from the provided NetAddress. If the // ipString returns a string for the ip from the provided NetAddress. If the
// ip is in the range used for tor addresses then it will be transformed into // ip is in the range used for tor addresses then it will be transformed into
// the relavent .onion address. // the relavent .onion address.
func ipString(na *btcwire.NetAddress) string { func ipString(na *wire.NetAddress) string {
if Tor(na) { if Tor(na) {
// We know now that na.IP is long enogh. // We know now that na.IP is long enogh.
base32 := base32.StdEncoding.EncodeToString(na.IP[6:]) base32 := base32.StdEncoding.EncodeToString(na.IP[6:])
@ -41,7 +41,7 @@ func ipString(na *btcwire.NetAddress) string {
// NetAddressKey returns a string key in the form of ip:port for IPv4 addresses // NetAddressKey returns a string key in the form of ip:port for IPv4 addresses
// or [ip]:port for IPv6 addresses. // or [ip]:port for IPv6 addresses.
func NetAddressKey(na *btcwire.NetAddress) string { func NetAddressKey(na *wire.NetAddress) string {
port := strconv.FormatUint(uint64(na.Port), 10) port := strconv.FormatUint(uint64(na.Port), 10)
addr := net.JoinHostPort(ipString(na), port) addr := net.JoinHostPort(ipString(na), port)
return addr return addr

18
peer.go
View File

@ -5,7 +5,7 @@ import (
"net" "net"
"time" "time"
"github.com/btcsuite/btcwire" "github.com/btcsuite/btcd/wire"
) )
type Peer struct { type Peer struct {
@ -54,13 +54,13 @@ func (p *Peer) Handshake() error {
logger.Debugf("[%s] Starting handshake.", p.Address) logger.Debugf("[%s] Starting handshake.", p.Address)
nonce, err := btcwire.RandomUint64() nonce, err := wire.RandomUint64()
if err != nil { if err != nil {
return err return err
} }
p.nonce = nonce p.nonce = nonce
msgVersion, err := btcwire.NewMsgVersionFromConn(p.conn, p.nonce, 0) msgVersion, err := wire.NewMsgVersionFromConn(p.conn, p.nonce, 0)
msgVersion.UserAgent = p.client.userAgent msgVersion.UserAgent = p.client.userAgent
msgVersion.DisableRelayTx = true msgVersion.DisableRelayTx = true
if err := p.WriteMessage(msgVersion); err != nil { if err := p.WriteMessage(msgVersion); err != nil {
@ -72,7 +72,7 @@ func (p *Peer) Handshake() error {
if err != nil { if err != nil {
return err return err
} }
vmsg, ok := msg.(*btcwire.MsgVersion) vmsg, ok := msg.(*wire.MsgVersion)
if !ok { if !ok {
return fmt.Errorf("Did not receive version message: %T", vmsg) return fmt.Errorf("Did not receive version message: %T", vmsg)
} }
@ -90,17 +90,17 @@ func (p *Peer) Handshake() error {
// accept external connections so we skip it. // accept external connections so we skip it.
// Send verack. // Send verack.
if err := p.WriteMessage(btcwire.NewMsgVerAck()); err != nil { if err := p.WriteMessage(wire.NewMsgVerAck()); err != nil {
return err return err
} }
return nil return nil
} }
func (p *Peer) WriteMessage(msg btcwire.Message) error { func (p *Peer) WriteMessage(msg wire.Message) error {
return btcwire.WriteMessage(p.conn, msg, p.pver, p.client.btcnet) return wire.WriteMessage(p.conn, msg, p.pver, p.client.btcnet)
} }
func (p *Peer) ReadMessage() (btcwire.Message, []byte, error) { func (p *Peer) ReadMessage() (wire.Message, []byte, error) {
return btcwire.ReadMessage(p.conn, p.pver, p.client.btcnet) return wire.ReadMessage(p.conn, p.pver, p.client.btcnet)
} }

View File

@ -4,7 +4,7 @@ import (
"net" "net"
"sync" "sync"
"github.com/btcsuite/btcnet" "github.com/btcsuite/btcd/chaincfg"
) )
func GetSeedsFromDNS(dnsSeeds []string) []string { func GetSeedsFromDNS(dnsSeeds []string) []string {
@ -33,7 +33,7 @@ func GetSeedsFromDNS(dnsSeeds []string) []string {
seeds := []string{} seeds := []string{}
for ips := range results { for ips := range results {
for _, ip := range ips { for _, ip := range ips {
seeds = append(seeds, net.JoinHostPort(ip.String(), btcnet.MainNetParams.DefaultPort)) seeds = append(seeds, net.JoinHostPort(ip.String(), chaincfg.MainNetParams.DefaultPort))
} }
} }