Skip to content

Commit

Permalink
Random fixes during off site
Browse files Browse the repository at this point in the history
  • Loading branch information
IronGauntlets committed Jul 12, 2024
1 parent e7813a7 commit 4456103
Show file tree
Hide file tree
Showing 8 changed files with 33 additions and 7 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ node2:
--log-level=debug \
--db-path=./p2p-dbs/node2 \
--p2p \
--p2p-peers=/ip4/127.0.0.1/tcp/7777/p2p/12D3KooWLdURCjbp1D7hkXWk6ZVfcMDPtsNnPHuxoTcWXFtvrxGG \
--p2p-peers=/ip4/10.100.7.108/tcp/10000/p2p/12D3KooWDFYi71juk6dYWo3UDvqs5gAzGDc124LSvcR5d187Tdvi \
--p2p-private-key="2d87e1d1c9d8dda1cf9a662de1978d2cd0b96e6ba390c75ded87c6c4fab657057fa782ae5977c3bd02d58281dccd16f2c26990d1f6c22f818a84edac97957348" \
--metrics-port=9092

Expand Down
11 changes: 8 additions & 3 deletions adapters/core2p2p/block.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@ func AdaptSignature(sig []*felt.Felt) *spec.ConsensusSignature {
}
}

func AdaptHeader(header *core.Header, commitments *core.BlockCommitments) *spec.SignedBlockHeader {
func AdaptHeader(header *core.Header, commitments *core.BlockCommitments,
stateDiffCommitment *felt.Felt,
) *spec.SignedBlockHeader {
return &spec.SignedBlockHeader{
BlockHash: AdaptHash(header.Hash),
ParentHash: AdaptHash(header.ParentHash),
Expand All @@ -44,12 +46,15 @@ func AdaptHeader(header *core.Header, commitments *core.BlockCommitments) *spec.
Root: AdaptHash(commitments.EventCommitment),
},
// todo fill receipts
Receipts: nil,
Receipts: &spec.Hash{},
ProtocolVersion: header.ProtocolVersion,
GasPriceFri: AdaptUint128(header.GasPrice),
Signatures: utils.Map(header.Signatures, AdaptSignature),
// todo(kirill) set these fields
StateDiffCommitment: nil,
StateDiffCommitment: &spec.StateDiffCommitment{
StateDiffLength: uint64(len(stateDiffCommitment.Bytes())),
Root: AdaptHash(stateDiffCommitment),
},
GasPriceWei: AdaptUint128(header.GasPriceSTRK),
DataGasPriceFri: AdaptUint128(header.L1DataGasPrice.PriceInFri),
DataGasPriceWei: AdaptUint128(header.L1DataGasPrice.PriceInWei),
Expand Down
2 changes: 2 additions & 0 deletions core/class_hash.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import "C"
import (
"encoding/json"
"errors"
"fmt"
"unsafe"

"github.com/NethermindEth/juno/core/felt"
Expand All @@ -24,6 +25,7 @@ func cairo0ClassHash(class *Cairo0Class) (*felt.Felt, error) {
if err != nil {
return nil, err
}
fmt.Println("------------------>After makeDeprecatedVMClass")

classJSON, err := json.Marshal(definition)
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion p2p/p2p.go
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ func NewWithHost(p2phost host.Host, peers string, feederNode bool, bc *blockchai

func makeDHT(p2phost host.Host, addrInfos []peer.AddrInfo) (*dht.IpfsDHT, error) {
return dht.New(context.Background(), p2phost,
dht.ProtocolPrefix(starknet.Prefix),
dht.ProtocolPrefix(starknet.KadPrefix()),
dht.BootstrapPeers(addrInfos...),
dht.RoutingTableRefreshPeriod(routingTableRefreshPeriod),
dht.Mode(dht.ModeServer),
Expand Down
6 changes: 6 additions & 0 deletions p2p/starknet/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,10 @@ func requestAndReceiveStream[ReqT proto.Message, ResT proto.Message](ctx context
}

id := stream.ID()

// peerID := stream.Conn().RemotePeer()
// log.Debugw("sending request", "req", req, "streamID", id, "peerID", peerID)

if err := sendAndCloseWrite(stream, req); err != nil {
log.Errorw("sendAndCloseWrite (stream is not closed)", "err", err, "streamID", id)
return nil, err
Expand All @@ -93,6 +97,8 @@ func requestAndReceiveStream[ReqT proto.Message, ResT proto.Message](ctx context
break
}

// log.Infow("receiving response", "res", res, "streamID", id, "peerID", peerID)

if !yield(res.(ResT)) {
break
}
Expand Down
7 changes: 6 additions & 1 deletion p2p/starknet/handlers.go
Original file line number Diff line number Diff line change
Expand Up @@ -143,9 +143,14 @@ func (h *Handler) onHeadersRequest(req *spec.BlockHeadersRequest) (iter.Seq[prot
return nil, err
}

stateUpdate, err := h.bcReader.StateUpdateByNumber(header.Number)
if err != nil {
return nil, err
}

return &spec.BlockHeadersResponse{
HeaderMessage: &spec.BlockHeadersResponse_Header{
Header: core2p2p.AdaptHeader(header, commitments),
Header: core2p2p.AdaptHeader(header, commitments, stateUpdate.StateDiff.Commitment()),
},
}, nil
})
Expand Down
4 changes: 4 additions & 0 deletions p2p/starknet/ids.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ import (

const Prefix = "/starknet"

func KadPrefix() protocol.ID {
return Prefix + "/juno-papyrus"
}

func HeadersPID() protocol.ID {
return Prefix + "/headers/0.1.0-rc.0"
}
Expand Down
6 changes: 5 additions & 1 deletion p2p/sync.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ func (s *syncService) start(ctx context.Context) {
s.client = starknet.NewClient(s.randomPeerStream, s.network, s.log)

for i := 0; ; i++ {
time.Sleep(1 * time.Second)
if err := ctx.Err(); err != nil {
break
}
Expand Down Expand Up @@ -190,8 +191,8 @@ func (s *syncService) processSpecBlockParts(
default:
switch p := part.(type) {
case specBlockHeaderAndSigs:
s.log.Debugw("Received Block Header with signatures", "blockNumber", p.blockNumber())
if _, ok := specBlockHeadersAndSigsM[part.blockNumber()]; !ok {
// fmt.Println(p.header.String())
specBlockHeadersAndSigsM[part.blockNumber()] = p
}
case specTxWithReceipts:
Expand Down Expand Up @@ -334,8 +335,10 @@ func (s *syncService) adaptAndSanityCheckBlock(ctx context.Context, header *spec
coreBlock.Hash = h

newClasses := make(map[felt.Felt]core.Class)
s.log.Debugw("len of the classes", "len", len(classes))
for _, cls := range classes {
coreC := p2p2core.AdaptClass(cls)
fmt.Println(reflect.TypeOf(coreC))
h, err = coreC.Hash()
if err != nil {
bodyCh <- blockBody{err: fmt.Errorf("class hash calculation error: %v", err)}
Expand Down Expand Up @@ -656,6 +659,7 @@ func (s *syncService) randomPeerStream(ctx context.Context, pids ...protocol.ID)
}
stream, err := s.host.NewStream(ctx, randPeer, pids...)
if err != nil {
s.log.Debugw("Error creating stream", "peer", randPeer, "err", err)
s.removePeer(randPeer)
return nil, err
}
Expand Down

0 comments on commit 4456103

Please sign in to comment.