Merge branch 'develop' of github.com-obscure:ethereum/eth-go into develop
Conflicts: ethutil/config.go
This commit is contained in:
commit
0936e5ccf5
|
@ -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
|
||||||
|
|
12
peer.go
12
peer.go
|
@ -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…
Reference in New Issue