Merge branch 'develop' of github.com-obscure:ethereum/eth-go into develop

Conflicts:
	ethutil/config.go
pull/150/head
obscuren 11 years ago
commit 0936e5ccf5
  1. 4
      ethchain/genesis.go
  2. 2
      ethutil/config.go
  3. 30
      ethutil/encoding_test.go
  4. 3
      ethwire/messaging.go
  5. 12
      peer.go

@ -13,7 +13,7 @@ var ZeroHash256 = make([]byte, 32)
var ZeroHash160 = make([]byte, 20) var ZeroHash160 = make([]byte, 20)
var EmptyShaList = ethutil.Sha3Bin(ethutil.Encode([]interface{}{})) var EmptyShaList = ethutil.Sha3Bin(ethutil.Encode([]interface{}{}))
var GenisisHeader = []interface{}{ var GenesisHeader = []interface{}{
// Previous hash (none) // Previous hash (none)
//"", //"",
ZeroHash256, ZeroHash256,
@ -36,4 +36,4 @@ var GenisisHeader = []interface{}{
ethutil.Sha3Bin(big.NewInt(42).Bytes()), ethutil.Sha3Bin(big.NewInt(42).Bytes()),
} }
var Genesis = []interface{}{GenisisHeader, []interface{}{}, []interface{}{}} var Genesis = []interface{}{GenesisHeader, []interface{}{}, []interface{}{}}

@ -39,7 +39,7 @@ func ReadConfig(base string) *config {
_, err := os.Stat(path) _, err := os.Stat(path)
if err != nil { if err != nil {
if os.IsNotExist(err) { if os.IsNotExist(err) {
log.Printf("Debug logging directory %s doesn't exist, creating it", path) log.Printf("Debug logging directory %s doesn't exist, creating it\n", path)
os.Mkdir(path, 0777) os.Mkdir(path, 0777)
} }
} }

@ -35,3 +35,33 @@ func TestCompactHexDecode(t *testing.T) {
t.Error("Error compact hex decode. Expected", exp, "got", res) t.Error("Error compact hex decode. Expected", exp, "got", res)
} }
} }
func TestCompactDecode(t *testing.T) {
exp := []int{1, 2, 3, 4, 5}
res := CompactDecode("\x11\x23\x45")
if !CompareIntSlice(res, exp) {
t.Error("odd compact decode. Expected", exp, "got", res)
}
exp = []int{0, 1, 2, 3, 4, 5}
res = CompactDecode("\x00\x01\x23\x45")
if !CompareIntSlice(res, exp) {
t.Error("even compact decode. Expected", exp, "got", res)
}
exp = []int{0, 15, 1, 12, 11, 8 /*term*/, 16}
res = CompactDecode("\x20\x0f\x1c\xb8")
if !CompareIntSlice(res, exp) {
t.Error("even terminated compact decode. Expected", exp, "got", res)
}
exp = []int{15, 1, 12, 11, 8 /*term*/, 16}
res = CompactDecode("\x3f\x1c\xb8")
if !CompareIntSlice(res, exp) {
t.Error("even terminated compact decode. Expected", exp, "got", res)
}
}

@ -19,6 +19,9 @@ var MagicToken = []byte{34, 64, 8, 145}
type MsgType byte type MsgType byte
const ( const (
// Values are given explicitly instead of by iota because these values are
// defined by the wire protocol spec; it is easier for humans to ensure
// correctness when values are explicit.
MsgHandshakeTy = 0x00 MsgHandshakeTy = 0x00
MsgDiscTy = 0x01 MsgDiscTy = 0x01
MsgPingTy = 0x02 MsgPingTy = 0x02

@ -23,6 +23,9 @@ const (
type DiscReason byte type DiscReason byte
const ( const (
// Values are given explicitly instead of by iota because these values are
// defined by the wire protocol spec; it is easier for humans to ensure
// correctness when values are explicit.
DiscReRequested = 0x00 DiscReRequested = 0x00
DiscReTcpSysErr = 0x01 DiscReTcpSysErr = 0x01
DiscBadProto = 0x02 DiscBadProto = 0x02
@ -56,9 +59,9 @@ func (d DiscReason) String() string {
type Caps byte type Caps byte
const ( const (
CapPeerDiscTy = 0x01 CapPeerDiscTy = 1 << iota
CapTxTy = 0x02 CapTxTy
CapChainTy = 0x04 CapChainTy
CapDefault = CapChainTy | CapTxTy | CapPeerDiscTy CapDefault = CapChainTy | CapTxTy | CapPeerDiscTy
) )
@ -285,7 +288,6 @@ func (p *Peer) HandleInbound() {
p.lastPong = time.Now().Unix() p.lastPong = time.Now().Unix()
case ethwire.MsgBlockTy: case ethwire.MsgBlockTy:
// Get all blocks and process them // Get all blocks and process them
msg.Data = msg.Data
var block, lastBlock *ethchain.Block var block, lastBlock *ethchain.Block
var err error var err error
for i := msg.Data.Len() - 1; i >= 0; i-- { for i := msg.Data.Len() - 1; i >= 0; i-- {
@ -438,7 +440,7 @@ func (p *Peer) Start() {
err := p.pushHandshake() err := p.pushHandshake()
if err != nil { if err != nil {
log.Printf("Peer can't send outbound version ack", err) log.Println("Peer can't send outbound version ack", err)
p.Stop() p.Stop()

Loading…
Cancel
Save