func ReadBinaryBytes(d []byte, o interface{}) error {
	r, n, err := bytes.NewBuffer(d), new(int), new(error)
	ReadBinaryPtr(o, r, 0, n, err)
	return *err
}
o: a pointer to the object to be filled
package wire
import (
	"bytes"
	"crypto/sha256"
	"encoding/json"
	"golang.org/x/crypto/ripemd160"
	. "github.com/annchain/annchain/module/lib/go-common"
)
func BinaryBytes(o interface{}) []byte {
	w, n, err := new(bytes.Buffer), new(int), new(error)
	WriteBinary(o, w, n, err)
	if *err != nil {
		PanicSanity(*err)
	}
	return w.Bytes()
}