Skip to content

Commit

Permalink
Set valid dht protocol for starknet v01
Browse files Browse the repository at this point in the history
  • Loading branch information
wojciechos committed Jan 31, 2025
1 parent e7db634 commit f705e54
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 92 deletions.
12 changes: 6 additions & 6 deletions p2p/p2p.go
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ func NewWithHost(p2phost host.Host, peers string, feederNode bool, bc *blockchai

func MakeDHT(p2phost host.Host, addrInfos []peer.AddrInfo, snNetwork *utils.Network) (*dht.IpfsDHT, error) {
return dht.New(context.Background(), p2phost,
dht.ProtocolPrefix(p2pSync.DHTPrefixPID(snNetwork)),
dht.V1ProtocolOverride(p2pSync.DHTPID(snNetwork)),
dht.BootstrapPeers(addrInfos...),
dht.RoutingTableRefreshPeriod(routingTableRefreshPeriod),
dht.Mode(dht.ModeServer),
Expand Down Expand Up @@ -250,11 +250,11 @@ func (s *Service) Run(ctx context.Context) error {
}

func (s *Service) setProtocolHandlers() {
s.SetProtocolHandler(p2pSync.HeadersPID(s.network), s.handler.HeadersHandler)
s.SetProtocolHandler(p2pSync.EventsPID(s.network), s.handler.EventsHandler)
s.SetProtocolHandler(p2pSync.TransactionsPID(s.network), s.handler.TransactionsHandler)
s.SetProtocolHandler(p2pSync.ClassesPID(s.network), s.handler.ClassesHandler)
s.SetProtocolHandler(p2pSync.StateDiffPID(s.network), s.handler.StateDiffHandler)
s.SetProtocolHandler(p2pSync.HeadersPID(), s.handler.HeadersHandler)
s.SetProtocolHandler(p2pSync.EventsPID(), s.handler.EventsHandler)
s.SetProtocolHandler(p2pSync.TransactionsPID(), s.handler.TransactionsHandler)
s.SetProtocolHandler(p2pSync.ClassesPID(), s.handler.ClassesHandler)
s.SetProtocolHandler(p2pSync.StateDiffPID(), s.handler.StateDiffHandler)
}

func (s *Service) callAndLogErr(f func() error, msg string) {
Expand Down
4 changes: 2 additions & 2 deletions p2p/p2p_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,12 +81,12 @@ func TestMakeDHTProtocolName(t *testing.T) {
{
name: "sepolia network",
network: &utils.Sepolia,
expected: "/starknet/SN_SEPOLIA/sync/kad/1.0.0",
expected: "/starknet/kad/SN_SEPOLIA/1.0.0",
},
{
name: "mainnet network",
network: &utils.Mainnet,
expected: "/starknet/SN_MAIN/sync/kad/1.0.0",
expected: "/starknet/kad/SN_MAIN/1.0.0",
},
}

Expand Down
10 changes: 5 additions & 5 deletions p2p/sync/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -106,22 +106,22 @@ func (c *Client) RequestBlockHeaders(
ctx context.Context, req *gen.BlockHeadersRequest,
) (iter.Seq[*gen.BlockHeadersResponse], error) {
return requestAndReceiveStream[*gen.BlockHeadersRequest, *gen.BlockHeadersResponse](
ctx, c.newStream, HeadersPID(c.network), req, c.log)
ctx, c.newStream, HeadersPID(), req, c.log)
}

func (c *Client) RequestEvents(ctx context.Context, req *gen.EventsRequest) (iter.Seq[*gen.EventsResponse], error) {
return requestAndReceiveStream[*gen.EventsRequest, *gen.EventsResponse](ctx, c.newStream, EventsPID(c.network), req, c.log)
return requestAndReceiveStream[*gen.EventsRequest, *gen.EventsResponse](ctx, c.newStream, EventsPID(), req, c.log)
}

func (c *Client) RequestClasses(ctx context.Context, req *gen.ClassesRequest) (iter.Seq[*gen.ClassesResponse], error) {
return requestAndReceiveStream[*gen.ClassesRequest, *gen.ClassesResponse](ctx, c.newStream, ClassesPID(c.network), req, c.log)
return requestAndReceiveStream[*gen.ClassesRequest, *gen.ClassesResponse](ctx, c.newStream, ClassesPID(), req, c.log)
}

func (c *Client) RequestStateDiffs(ctx context.Context, req *gen.StateDiffsRequest) (iter.Seq[*gen.StateDiffsResponse], error) {
return requestAndReceiveStream[*gen.StateDiffsRequest, *gen.StateDiffsResponse](ctx, c.newStream, StateDiffPID(c.network), req, c.log)
return requestAndReceiveStream[*gen.StateDiffsRequest, *gen.StateDiffsResponse](ctx, c.newStream, StateDiffPID(), req, c.log)
}

func (c *Client) RequestTransactions(ctx context.Context, req *gen.TransactionsRequest) (iter.Seq[*gen.TransactionsResponse], error) {
return requestAndReceiveStream[*gen.TransactionsRequest, *gen.TransactionsResponse](
ctx, c.newStream, TransactionsPID(c.network), req, c.log)
ctx, c.newStream, TransactionsPID(), req, c.log)
}
24 changes: 12 additions & 12 deletions p2p/sync/ids.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,26 @@ import (

const Prefix = "/starknet"

func HeadersPID(network *utils.Network) protocol.ID {
return protocol.ID(Prefix + "/" + network.L2ChainID + "/sync/headers/0.1.0-rc.0")
func HeadersPID() protocol.ID {
return Prefix + "/headers/0.1.0-rc.0"
}

func EventsPID(network *utils.Network) protocol.ID {
return protocol.ID(Prefix + "/" + network.L2ChainID + "/sync/events/0.1.0-rc.0")
func EventsPID() protocol.ID {
return Prefix + "/events/0.1.0-rc.0"
}

func TransactionsPID(network *utils.Network) protocol.ID {
return protocol.ID(Prefix + "/" + network.L2ChainID + "/sync/transactions/0.1.0-rc.0")
func TransactionsPID() protocol.ID {
return Prefix + "/transactions/0.1.0-rc.0"
}

func ClassesPID(network *utils.Network) protocol.ID {
return protocol.ID(Prefix + "/" + network.L2ChainID + "/sync/classes/0.1.0-rc.0")
func ClassesPID() protocol.ID {
return Prefix + "/classes/0.1.0-rc.0"
}

func StateDiffPID(network *utils.Network) protocol.ID {
return protocol.ID(Prefix + "/" + network.L2ChainID + "/sync/state_diffs/0.1.0-rc.0")
func StateDiffPID() protocol.ID {
return Prefix + "/state_diffs/0.1.0-rc.0"
}

func DHTPrefixPID(network *utils.Network) protocol.ID {
return protocol.ID(Prefix + "/" + network.L2ChainID + "/sync")
func DHTPID(network *utils.Network) protocol.ID {
return protocol.ID(Prefix + "/kad/" + network.L2ChainID + "/1.0.0")
}
67 changes: 0 additions & 67 deletions p2p/sync/ids_test.go

This file was deleted.

0 comments on commit f705e54

Please sign in to comment.