func (n *Node) UnmarshalBinary(buf []byte) error {
	n.Node = common.BytesToHash(buf[:32])
	n.Trust = buf[32] > 0
	n.Active = buf[33] > 0
	n.Deposit = buf[34] > 0
	n.LastBlock = binary.BigEndian.Uint64(buf[35:])
	if len(buf) > 43 {
		n.EthAddress = common.BytesToAddress(buf[43:])
	}
	return nil
}
UnmarshalBinary implements BinaryUnmarshaller. It will attempt deserialize
the given byte slice into the batch.
package mine
import (
	"encoding/binary"
	"github.com/ethereum/go-ethereum/common"
)
type Node struct {
	Node       common.Hash  
	Trust      bool         
	Deposit    bool
	Active     bool
	LastBlock  uint64
	EthAddress common.Address
	InactionTx *common.Hash  
}
func (n *Node) MarshalBinary() ([]byte, error) {
	out := make([]byte, 63)
	copy(out, n.Node.Bytes())
	if n.Trust {
		out[32] = 1
	}
	if n.Active {
		out[33] = 1
	}
	if n.Deposit {
		out[34] = 1
	}
	binary.BigEndian.PutUint64(out[35:], n.LastBlock)
	copy(out[43:], n.EthAddress[:])
	return out, nil
}