mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-16 08:53:46 +00:00
fix:fix main use history network
Signed-off-by: Chen Kai <281165273grape@gmail.com>
This commit is contained in:
parent
3c5dbf1fd8
commit
f1802d610c
2 changed files with 15 additions and 5 deletions
|
|
@ -14,6 +14,7 @@ import (
|
||||||
"github.com/ethereum/go-ethereum/p2p/discover"
|
"github.com/ethereum/go-ethereum/p2p/discover"
|
||||||
"github.com/ethereum/go-ethereum/p2p/discover/portalwire"
|
"github.com/ethereum/go-ethereum/p2p/discover/portalwire"
|
||||||
"github.com/ethereum/go-ethereum/p2p/enode"
|
"github.com/ethereum/go-ethereum/p2p/enode"
|
||||||
|
"github.com/ethereum/go-ethereum/portalnetwork/history"
|
||||||
"github.com/ethereum/go-ethereum/portalnetwork/storage/sqlite"
|
"github.com/ethereum/go-ethereum/portalnetwork/storage/sqlite"
|
||||||
"github.com/ethereum/go-ethereum/rpc"
|
"github.com/ethereum/go-ethereum/rpc"
|
||||||
)
|
)
|
||||||
|
|
@ -74,7 +75,13 @@ func main() {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = protocol.Start()
|
accumulator, err := history.NewMasterAccumulator()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
historyNetwork := history.NewHistoryNetwork(protocol, &accumulator)
|
||||||
|
err = historyNetwork.Start()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,7 @@ func (e *epoch) add(header types.Header) error {
|
||||||
}
|
}
|
||||||
sszBytes, err := record.MarshalSSZ()
|
sszBytes, err := record.MarshalSSZ()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil
|
return err
|
||||||
}
|
}
|
||||||
e.records = append(e.records, sszBytes)
|
e.records = append(e.records, sszBytes)
|
||||||
return nil
|
return nil
|
||||||
|
|
@ -97,7 +97,10 @@ func (a *Accumulator) Update(header types.Header) error {
|
||||||
a.historicalEpochs = append(a.historicalEpochs, MixInLength(root, epochSize))
|
a.historicalEpochs = append(a.historicalEpochs, MixInLength(root, epochSize))
|
||||||
a.currentEpoch = newEpoch()
|
a.currentEpoch = newEpoch()
|
||||||
}
|
}
|
||||||
a.currentEpoch.add(header)
|
err := a.currentEpoch.add(header)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -149,7 +152,7 @@ func BuildProof(header types.Header, epochAccumulator EpochAccumulator) (Accumul
|
||||||
sizeBytes := make([]byte, 32)
|
sizeBytes := make([]byte, 32)
|
||||||
binary.LittleEndian.PutUint32(sizeBytes, epochSize)
|
binary.LittleEndian.PutUint32(sizeBytes, epochSize)
|
||||||
hashes = append(hashes, sizeBytes)
|
hashes = append(hashes, sizeBytes)
|
||||||
return AccumulatorProof(hashes), err
|
return hashes, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func BuildHeaderWithProof(header types.Header, epochAccumulator EpochAccumulator) (*BlockHeaderWithProof, error) {
|
func BuildHeaderWithProof(header types.Header, epochAccumulator EpochAccumulator) (*BlockHeaderWithProof, error) {
|
||||||
|
|
@ -215,7 +218,7 @@ func MixInLength(root [32]byte, length uint64) []byte {
|
||||||
hash := ssz.NewHasher()
|
hash := ssz.NewHasher()
|
||||||
hash.AppendBytes32(root[:])
|
hash.AppendBytes32(root[:])
|
||||||
hash.MerkleizeWithMixin(0, length, 0)
|
hash.MerkleizeWithMixin(0, length, 0)
|
||||||
// length of root is 32, so we can ignore the err
|
// length of root is 32, so we can ignore the error
|
||||||
newRoot, _ := hash.HashRoot()
|
newRoot, _ := hash.HashRoot()
|
||||||
return newRoot[:]
|
return newRoot[:]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue