Add nitro wallet to BitswapNetwork

This commit is contained in:
Mark Spanbroek 2021-04-07 09:56:40 +02:00
parent bd68f2cbc9
commit e55ac4e9de
4 changed files with 18 additions and 7 deletions

View File

@ -13,12 +13,14 @@ import pkg/chronicles
import pkg/chronos
import pkg/libp2p
import pkg/nitro
import ../blocktype as bt
import ./protobuf/bitswap as pb
import ./networkpeer
export pb, networkpeer
export nitro
logScope:
topics = "dagger bitswap network"
@ -55,6 +57,7 @@ type
BitswapNetwork* = ref object of LPProtocol
peers*: Table[PeerID, NetworkPeer]
switch*: Switch
wallet*: Wallet
handlers*: BitswapHandlers
request*: BitswapRequest
getConn: ConnProvider
@ -273,12 +276,14 @@ method init*(b: BitswapNetwork) =
proc new*(
T: type BitswapNetwork,
switch: Switch,
wallet: Wallet,
connProvider: ConnProvider = nil): T =
## Create a new BitswapNetwork instance
##
let b = BitswapNetwork(
switch: switch,
wallet: wallet,
getConn: connProvider)
proc sendWantList(

View File

@ -27,6 +27,7 @@ suite "Bitswap engine - 2 nodes":
var
switch1, switch2: Switch
wallet1, wallet2: Wallet
network1, network2: BitswapNetwork
bitswap1, bitswap2: Bitswap
awaiters: seq[Future[void]]
@ -39,17 +40,19 @@ suite "Bitswap engine - 2 nodes":
switch1 = newStandardSwitch()
switch2 = newStandardSwitch()
wallet1 = Wallet.init(EthPrivateKey.random())
wallet2 = Wallet.init(EthPrivateKey.random())
awaiters.add(await switch1.start())
awaiters.add(await switch2.start())
peerId1 = switch1.peerInfo.peerId
peerId2 = switch2.peerInfo.peerId
network1 = BitswapNetwork.new(switch = switch1)
network1 = BitswapNetwork.new(switch1, wallet1)
bitswap1 = Bitswap.new(MemoryStore.new(blocks1), network1)
switch1.mount(network1)
network2 = BitswapNetwork.new(switch = switch2)
network2 = BitswapNetwork.new(switch2, wallet2)
bitswap2 = Bitswap.new(MemoryStore.new(blocks2), network2)
switch2.mount(network2)

View File

@ -37,6 +37,7 @@ suite "Bitswap network":
buffer = newBufferStream()
network = BitswapNetwork.new(
switch = newStandardSwitch(),
wallet = Wallet.init(EthPrivateKey.random()),
connProvider = getConn)
network.setupPeer(peerId)
networkPeer = network.peers[peerId]
@ -108,6 +109,7 @@ suite "Bitswap Network - e2e":
var
switch1, switch2: Switch
wallet1, wallet2: Wallet
network1, network2: BitswapNetwork
awaiters: seq[Future[void]]
done: Future[void]
@ -116,15 +118,15 @@ suite "Bitswap Network - e2e":
done = newFuture[void]()
switch1 = newStandardSwitch()
switch2 = newStandardSwitch()
wallet1 = Wallet.init(EthPrivateKey.random())
wallet2 = Wallet.init(EthPrivateKey.random())
awaiters.add(await switch1.start())
awaiters.add(await switch2.start())
network1 = BitswapNetwork.new(
switch = switch1)
network1 = BitswapNetwork.new(switch1, wallet1)
switch1.mount(network1)
network2 = BitswapNetwork.new(
switch = switch2)
network2 = BitswapNetwork.new(switch2, wallet2)
switch2.mount(network2)
await switch1.connect(

View File

@ -17,7 +17,8 @@ proc generateNodes*(
for i in 0..<num:
let
switch = newStandardSwitch(transportFlags = {ServerFlags.ReuseAddr})
network = BitswapNetwork.new(switch = switch)
wallet = Wallet.init(EthPrivateKey.random())
network = BitswapNetwork.new(switch, wallet)
bitswap = Bitswap.new(MemoryStore.new(blocks), network)
switch.mount(network)