def networktransferB(p, freq, onlineTX = 5.0, onlineTXTime = 1.0, r = 0.01, timeRun = 10.0): # network 2 network = simulation_1.Network(onlineTX, onlineTXTime, r, timeRun) Alice = simulation_1.Node("Alice", network) Bob = simulation_1.Node("Bob", network) Charlie = simulation_1.Node("Charlie", network) paymentAB = simulation_1.Payment(largeFrequency, largePayments, Alice, Bob) paymentBC = simulation_1.Payment(largeFrequency, largePayments, Bob, Charlie) paymentAC = simulation_1.Payment(freq, p, Alice, Bob) paymentAC1 = simulation_1.Payment(freq, p, Bob, Charlie) paymentAC.setTransfer(paymentAC1) channelAB = simulation_1.Channel(Alice, Bob, network) channelAB.addPayment(paymentAB) channelBC = simulation_1.Channel(Bob, Charlie, network) channelBC.addPayment(paymentBC) # payment goes through Channel AB and BC channelAB.addPayment(paymentAC) channelBC.addPayment(paymentAC1) network.addPaymentList([paymentAB, paymentBC, paymentAC]) network.addTransferredList([paymentAC1]) network.runNetwork() # network.printSummary() a = Alice.getChCostTotal() b = Bob.getChCostTotal() c = Charlie.getChCostTotal() return (a+c, b)
def networkDirectAC(p, freq, onlineTX = 5.0, onlineTXTime = 1.0, r = 0.01, timeRun = 10.0): # set up the network network = simulation_1.Network(onlineTX, onlineTXTime, r, timeRun) Alice = simulation_1.Node("Alice", network) Bob = simulation_1.Node("Bob", network) Charlie = simulation_1.Node("Charlie", network) paymentAB = simulation_1.Payment(largeFrequency, largePayments, Alice, Bob) paymentBC = simulation_1.Payment(largeFrequency, largePayments, Bob, Charlie) paymentAC = simulation_1.Payment(freq, p, Alice, Charlie) channelAB = simulation_1.Channel(Alice, Bob, network) channelAB.addPayment(paymentAB) channelBC = simulation_1.Channel(Bob, Charlie, network) channelBC.addPayment(paymentBC) # Alice creates a direct channel for network 1 channelAC = simulation_1.Channel(Alice, Charlie, network) channelAC.addPayment(paymentAC) network.addPaymentList([paymentAB, paymentBC, paymentAC]) network.runNetwork() a = Alice.getChCostTotal() b = Bob.getChCostTotal() c = Charlie.getChCostTotal() return (a+c, b)
def networkOG(p, freq, onlineTX = 5.0, onlineTXTime = 1.0, r = 0.01, timeRun = 10.0): # a star / fork network network = simulation_1.Network(onlineTX, onlineTXTime, r, timeRun) Alice = simulation_1.Node("Alice", network) Bob = simulation_1.Node("Bob", network) Charlie = simulation_1.Node("Charlie", network) paymentAB = simulation_1.Payment(largeFrequency, largePayments, Alice, Bob) paymentBC = simulation_1.Payment(largeFrequency, largePayments, Bob, Charlie) channelAB = simulation_1.Channel(Alice, Bob, network) channelBC = simulation_1.Channel(Bob, Charlie, network) channelAB.addPaymentList([paymentAB]) channelBC.addPaymentList([paymentBC]) network.addPaymentList([paymentAB, paymentBC]) network.runNetwork() a = Alice.getChCostTotal() b = Bob.getChCostTotal() c = Charlie.getChCostTotal() return (a+c, b)
def networkCycle(p, freq, onlineTX, onlineTXTime, r, timeRun): # diagonal network network = simulation_1.Network(onlineTX, onlineTXTime, r, timeRun) Alice = simulation_1.Node("Alice", network) Bob = simulation_1.Node("Bob", network) Charlie = simulation_1.Node("Charlie", network) Donna = simulation_1.Node("Donna", network) paymentAB = simulation_1.Payment(largePayment, largeFrequency, Alice, Bob) paymentBC = simulation_1.Payment(largePayment, largeFrequency, Bob, Charlie) paymentAD = simulation_1.Payment(freq, p, Alice, Donna) # paymentBD = simulation_1.Payment(0.5, 1, Bob, Charlie) # paymentBD1 = simulation_1.Payment(0.5, 1, Charlie, Donna) paymentCD = simulation_1.Payment(largePayment, largeFrequency, Charlie, Donna) # paymentBD.setTransfer(paymentBD1) channelAB = simulation_1.Channel(Alice, Bob, network) channelBC = simulation_1.Channel(Bob, Charlie, network) channelCD = simulation_1.Channel(Charlie, Donna, network) channelAD = simulation_1.Channel(Charlie, Donna, network) channelAB.addPaymentList([paymentAB]) # channelBC.addPaymentList([paymentBC, paymentBD]) channelBC.addPaymentList([paymentBC]) # channelCD.addPaymentList([paymentCD, paymentBD1]) channelCD.addPaymentList([paymentCD]) channelAD.addPaymentList([paymentAD]) network.addNodeList([Alice, Bob, Charlie, Donna]) network.addChannelList([channelAB, channelBC, channelCD, channelAD]) # network.addPaymentList([paymentAB, paymentBC, paymentAD, paymentBD, paymentCD]) network.addPaymentList([paymentAB, paymentBC, paymentAD, paymentCD]) network.runNetwork() a = Alice.getChCostTotal() b = Bob.getChCostTotal() c = Charlie.getChCostTotal() d = Donna.getChCostTotal() return (a, b, c, d)
def networkTri2(p, freq, onlineTX, onlineTXTime, r, timeRun): # Triangle with c extension network = simulation_1.Network(onlineTX, onlineTXTime, r, timeRun) Alice = simulation_1.Node("Alice", network) Bob = simulation_1.Node("Bob", network) Charlie = simulation_1.Node("Charlie", network) Donna = simulation_1.Node("Donna", network) paymentAB = simulation_1.Payment(largeFrequency, largePayment, Alice, Bob) paymentBC = simulation_1.Payment(largeFrequency, largePayment, Charlie, Bob) paymentAD = simulation_1.Payment(freq, p, Alice, Donna) paymentAC = simulation_1.Payment(freq, p, Alice, Charlie) paymentBD = simulation_1.Payment(largeFrequency, largePayment, Donna, Bob) channelAB = simulation_1.Channel(Alice, Bob, network) channelBC = simulation_1.Channel(Bob, Charlie, network) channelBD = simulation_1.Channel(Bob, Donna, network) # added direct channel for payment AD channelAD = simulation_1.Channel(Alice, Donna, network) channelAC = simulation_1.Channel(Alice, Charlie, network) channelAB.addPaymentList([paymentAB]) channelBC.addPaymentList([paymentBC]) channelAD.addPaymentList([paymentAD]) channelBD.addPaymentList([paymentBD]) channelAC.addPaymentList([paymentAC]) network.addPaymentList([paymentAB, paymentBC, paymentAD, paymentBD]) network.runNetwork() a = Alice.getChCostTotal() b = Bob.getChCostTotal() c = Charlie.getChCostTotal() d = Donna.getChCostTotal() return (a, b, c, d)
def networkLineOG(p, freq, onlineTX, onlineTXTime, r, timeRun): # the network as a line A-B-C-D network = simulation_1.Network(onlineTX, onlineTXTime, r, timeRun) Alice = simulation_1.Node("Alice", network) Bob = simulation_1.Node("Bob", network) Charlie = simulation_1.Node("Charlie", network) Donna = simulation_1.Node("Donna", network) paymentAB = simulation_1.Payment(largeFrequency, largePayment, Alice, Bob) paymentBC = simulation_1.Payment(largeFrequency, largePayment, Charlie, Bob) # paymentBD = simulation_1.Payment(0.5, 1, Bob, Charlie) # paymentBD1 = simulation_1.Payment(0.5, 1, Charlie, Donna) paymentCD = simulation_1.Payment(largeFrequency, largePayment, Charlie, Donna) # paymentBD.setTransfer(paymentBD1) channelAB = simulation_1.Channel(Alice, Bob, network) channelBC = simulation_1.Channel(Bob, Charlie, network) channelCD = simulation_1.Channel(Charlie, Donna, network) channelAB.addPaymentList([paymentAB]) # channelBC.addPaymentList([paymentBC, paymentAD1, paymentBD]) channelBC.addPaymentList([paymentBC]) # channelCD.addPaymentList([paymentCD, paymentBD1, paymentAD2]) channelCD.addPaymentList([paymentCD]) # network.addPaymentList([paymentAB, paymentBC, paymentAD, paymentBD, paymentCD]) network.addPaymentList([paymentAB, paymentBC, paymentCD]) network.runNetwork() a = Alice.getChCostTotal() b = Bob.getChCostTotal() c = Charlie.getChCostTotal() d = Donna.getChCostTotal() return (a, b, c, d)
def networkStarOG(p, freq, onlineTX, onlineTXTime, r, timeRun): # a star / fork network network = simulation_1.Network(onlineTX, onlineTXTime, r, timeRun) Alice = simulation_1.Node("Alice", network) Bob = simulation_1.Node("Bob", network) Charlie = simulation_1.Node("Charlie", network) Donna = simulation_1.Node("Donna", network) paymentAB = simulation_1.Payment(largeFrequency, largePayment, Alice, Bob) paymentBC = simulation_1.Payment(largeFrequency, largePayment, Charlie, Bob) paymentBD = simulation_1.Payment(largeFrequency, largePayment, Donna, Bob) paymentCD = simulation_1.Payment(largeFrequency, largePayment, Charlie, Bob) paymentCD1 = simulation_1.Payment(largeFrequency, largePayment, Bob, Donna) paymentCD.setTransfer(paymentCD1) channelAB = simulation_1.Channel(Alice, Bob, network) channelBC = simulation_1.Channel(Bob, Charlie, network) channelBD = simulation_1.Channel(Bob, Donna, network) channelAB.addPaymentList([paymentAB]) channelBC.addPaymentList([paymentBC, paymentCD]) channelBD.addPaymentList([paymentBD, paymentCD1]) network.addPaymentList([paymentAB, paymentBC, paymentBD, paymentCD]) network.runNetwork() a = Alice.getChCostTotal() b = Bob.getChCostTotal() c = Charlie.getChCostTotal() d = Donna.getChCostTotal() return (a, b, c, d)
def networkLine(p, freq, onlineTX, onlineTXTime, r, timeRun): # the network as a line A-B-C-D network = simulation_1.Network(onlineTX, onlineTXTime, r, timeRun) Alice = simulation_1.Node("Alice", network) Bob = simulation_1.Node("Bob", network) Charlie = simulation_1.Node("Charlie", network) Donna = simulation_1.Node("Donna", network) paymentAB = simulation_1.Payment(0.5, 1, Alice, Bob) paymentBC = simulation_1.Payment(0.5, 1, Bob, Charlie) paymentAD = simulation_1.Payment(freq, p, Alice, Bob) paymentAD1 = simulation_1.Payment(freq, p, Bob, Charlie) paymentAD2 = simulation_1.Payment(freq, p, Charlie, Donna) paymentBD = simulation_1.Payment(0.5, 1, Bob, Charlie) paymentBD1 = simulation_1.Payment(0.5, 1, Charlie, Donna) paymentCD = simulation_1.Payment(0.5, 1, Charlie, Donna) paymentAD.setTransfer(paymentAD1) paymentAD1.setTransfer(paymentAD2) paymentBD.setTransfer(paymentBD1) channelAB = simulation_1.Channel(Alice, Bob, 5, 0, network) channelBC = simulation_1.Channel(Bob, Charlie, 20, 20, network) channelCD = simulation_1.Channel(Charlie, Donna, 20, 20, network) channelAB.addPaymentList([paymentAB, paymentAD]) channelBC.addPaymentList([paymentBC, paymentAD1, paymentBD]) channelCD.addPaymentList([paymentCD, paymentBD1, paymentAD2]) network.addNodeList([Alice, Bob, Charlie, Donna]) network.addChannelList([channelAB, channelBC, channelCD]) network.addPaymentList( [paymentAB, paymentBC, paymentAD, paymentBD, paymentCD]) network.runNetwork() a = Alice.getChCostTotal() b = Bob.getChCostTotal() c = Charlie.getChCostTotal() d = Donna.getChCostTotal() return (a, b, c, d)
def networkStar(p, freq, onlineTX, onlineTXTime, r, timeRun): # a star / fork network network = simulation_1.Network(onlineTX, onlineTXTime, r, timeRun) Alice = simulation_1.Node("Alice", network) Bob = simulation_1.Node("Bob", network) Charlie = simulation_1.Node("Charlie", network) Donna = simulation_1.Node("Donna", network) paymentAB = simulation_1.Payment(0.5, 1, Alice, Bob) paymentBC = simulation_1.Payment(0.5, 1, Bob, Charlie) paymentAD = simulation_1.Payment(freq, p, Alice, Bob) paymentAD1 = simulation_1.Payment(freq, p, Bob, Donna) paymentBD = simulation_1.Payment(0.5, 1, Bob, Donna) paymentCD = simulation_1.Payment(0.5, 1, Charlie, Bob) paymentCD1 = simulation_1.Payment(0.5, 1, Bob, Donna) channelAB = simulation_1.Channel(Alice, Bob, 5, 0, network) channelBC = simulation_1.Channel(Bob, Charlie, 20, 20, network) channelBD = simulation_1.Channel(Bob, Donna, 20, 20, network) channelAB.addPaymentList([paymentAB, paymentAD]) channelBC.addPaymentList([paymentBC, paymentBD, paymentCD]) channelBD.addPaymentList([paymentBD, paymentAD1, paymentCD1]) network.addNodeList([Alice, Bob, Charlie, Donna]) network.addChannelList([channelAB, channelBC, channelBD]) network.addPaymentList( [paymentAB, paymentBC, paymentAD, paymentBD, paymentCD]) network.runNetwork() a = Alice.getChCostTotal() b = Bob.getChCostTotal() c = Charlie.getChCostTotal() d = Donna.getChCostTotal() return (a, b, c, d)
def networkTri(p, freq, onlineTX, onlineTXTime, r, timeRun): # Triangle with c extension network = simulation_1.Network(onlineTX, onlineTXTime, r, timeRun) Alice = simulation_1.Node("Alice", network) Bob = simulation_1.Node("Bob", network) Charlie = simulation_1.Node("Charlie", network) Donna = simulation_1.Node("Donna", network) paymentAB = simulation_1.Payment(0.5, 1, Alice, Bob) paymentBC = simulation_1.Payment(0.5, 1, Bob, Charlie) paymentAD = simulation_1.Payment(freq, p, Alice, Donna) paymentBD = simulation_1.Payment(0.5, 1, Bob, Donna) paymentCD = simulation_1.Payment(0.5, 1, Charlie, Bob) paymentCD1 = simulation_1.Payment(0.5, 1, Bob, Donna) paymentCD.setTransfer(paymentCD1) channelAB = simulation_1.Channel(Alice, Bob, 20, 20, network) channelBC = simulation_1.Channel(Bob, Charlie, 20, 20, network) channelBD = simulation_1.Channel(Bob, Donna, 20, 20, network) # added direct channel for payment AD channelAD = simulation_1.Channel(Alice, Donna, 5, 0, network) channelAB.addPaymentList([paymentAB]) channelBC.addPaymentList([paymentBC, paymentCD]) channelAD.addPaymentList([paymentAD]) channelBD.addPaymentList([paymentBD, paymentCD1]) network.addNodeList([Alice, Bob, Charlie, Donna]) network.addChannelList([channelAB, channelBC, channelAD, channelBD]) network.addPaymentList( [paymentAB, paymentBC, paymentAD, paymentBD, paymentCD]) network.runNetwork() a = Alice.getChCostTotal() b = Bob.getChCostTotal() c = Charlie.getChCostTotal() d = Donna.getChCostTotal() return (a, b, c, d)