diff --git a/rln-delay-simulations/README.md b/rln-delay-simulations/README.md new file mode 100644 index 0000000..f950e3c --- /dev/null +++ b/rln-delay-simulations/README.md @@ -0,0 +1,31 @@ +## rln-delay-simulations + +This folder contains a `shadow` configuration to simulate multiple `nwaku` nodes in an end to end setup. Note that `nwaku` requires some minor modifications in the code, that can be found in the `simulations` branch. + +## how to run + +Get `nwaku` code with the modifications and compile it. See diff of latest commit. + +``` +https://github.com/waku-org/nwaku.git +cd nwaku +git checkout simulations +make wakunode2 +``` + +Run the simulations: + +``` +shadow shadow.yaml +``` + +To ensure everything went allright +``` +TODO +``` + +Output + +``` +TODO +``` \ No newline at end of file diff --git a/rln-delay-simulations/shadow.yaml b/rln-delay-simulations/shadow.yaml new file mode 100644 index 0000000..9a3e1ed --- /dev/null +++ b/rln-delay-simulations/shadow.yaml @@ -0,0 +1,1042 @@ +general: + bootstrap_end_time: 30s + heartbeat_interval: 12s + stop_time: 4m + progress: true + +experimental: + use_memory_manager: false + +network: + graph: + type: gml + inline: | + graph [ + node [ + id 0 + host_bandwidth_up "100 Mbit" + host_bandwidth_down "100 Mbit" + ] + edge [ + source 0 + target 0 + latency "100 ms" + packet_loss 0.0 + ] + ] + +hosts: + + peer1: &client_host + network_node_id: 0 + processes: + - path: ../nwaku/build/wakunode2 + args: --relay=true + --max-connections=100 + --log-level=INFO + --topic=/waku/2/test + --rln-relay=true + --rln-relay-dynamic=false + --rln-relay-membership-index=0 + --nat=extip:0.0.0.0 + start_time: 5s + environment: {"PEERS": "1000", "CONNECTTO": "50"} + peer2: *client_host + peer3: *client_host + peer4: *client_host + peer5: *client_host + peer6: *client_host + peer7: *client_host + peer8: *client_host + peer9: *client_host + peer10: *client_host + peer11: *client_host + peer12: *client_host + peer13: *client_host + peer14: *client_host + peer15: *client_host + peer16: *client_host + peer17: *client_host + peer18: *client_host + peer19: *client_host + peer20: *client_host + peer21: *client_host + peer22: *client_host + peer23: *client_host + peer24: *client_host + peer25: *client_host + peer26: *client_host + peer27: *client_host + peer28: *client_host + peer29: *client_host + peer30: *client_host + peer31: *client_host + peer32: *client_host + peer33: *client_host + peer34: *client_host + peer35: *client_host + peer36: *client_host + peer37: *client_host + peer38: *client_host + peer39: *client_host + peer40: *client_host + peer41: *client_host + peer42: *client_host + peer43: *client_host + peer44: *client_host + peer45: *client_host + peer46: *client_host + peer47: *client_host + peer48: *client_host + peer49: *client_host + peer50: *client_host + peer51: *client_host + peer52: *client_host + peer53: *client_host + peer54: *client_host + peer55: *client_host + peer56: *client_host + peer57: *client_host + peer58: *client_host + peer59: *client_host + peer60: *client_host + peer61: *client_host + peer62: *client_host + peer63: *client_host + peer64: *client_host + peer65: *client_host + peer66: *client_host + peer67: *client_host + peer68: *client_host + peer69: *client_host + peer70: *client_host + peer71: *client_host + peer72: *client_host + peer73: *client_host + peer74: *client_host + peer75: *client_host + peer76: *client_host + peer77: *client_host + peer78: *client_host + peer79: *client_host + peer80: *client_host + peer81: *client_host + peer82: *client_host + peer83: *client_host + peer84: *client_host + peer85: *client_host + peer86: *client_host + peer87: *client_host + peer88: *client_host + peer89: *client_host + peer90: *client_host + peer91: *client_host + peer92: *client_host + peer93: *client_host + peer94: *client_host + peer95: *client_host + peer96: *client_host + peer97: *client_host + peer98: *client_host + peer99: *client_host + peer100: *client_host + peer101: *client_host + peer102: *client_host + peer103: *client_host + peer104: *client_host + peer105: *client_host + peer106: *client_host + peer107: *client_host + peer108: *client_host + peer109: *client_host + peer110: *client_host + peer111: *client_host + peer112: *client_host + peer113: *client_host + peer114: *client_host + peer115: *client_host + peer116: *client_host + peer117: *client_host + peer118: *client_host + peer119: *client_host + peer120: *client_host + peer121: *client_host + peer122: *client_host + peer123: *client_host + peer124: *client_host + peer125: *client_host + peer126: *client_host + peer127: *client_host + peer128: *client_host + peer129: *client_host + peer130: *client_host + peer131: *client_host + peer132: *client_host + peer133: *client_host + peer134: *client_host + peer135: *client_host + peer136: *client_host + peer137: *client_host + peer138: *client_host + peer139: *client_host + peer140: *client_host + peer141: *client_host + peer142: *client_host + peer143: *client_host + peer144: *client_host + peer145: *client_host + peer146: *client_host + peer147: *client_host + peer148: *client_host + peer149: *client_host + peer150: *client_host + peer151: *client_host + peer152: *client_host + peer153: *client_host + peer154: *client_host + peer155: *client_host + peer156: *client_host + peer157: *client_host + peer158: *client_host + peer159: *client_host + peer160: *client_host + peer161: *client_host + peer162: *client_host + peer163: *client_host + peer164: *client_host + peer165: *client_host + peer166: *client_host + peer167: *client_host + peer168: *client_host + peer169: *client_host + peer170: *client_host + peer171: *client_host + peer172: *client_host + peer173: *client_host + peer174: *client_host + peer175: *client_host + peer176: *client_host + peer177: *client_host + peer178: *client_host + peer179: *client_host + peer180: *client_host + peer181: *client_host + peer182: *client_host + peer183: *client_host + peer184: *client_host + peer185: *client_host + peer186: *client_host + peer187: *client_host + peer188: *client_host + peer189: *client_host + peer190: *client_host + peer191: *client_host + peer192: *client_host + peer193: *client_host + peer194: *client_host + peer195: *client_host + peer196: *client_host + peer197: *client_host + peer198: *client_host + peer199: *client_host + peer200: *client_host + peer201: *client_host + peer202: *client_host + peer203: *client_host + peer204: *client_host + peer205: *client_host + peer206: *client_host + peer207: *client_host + peer208: *client_host + peer209: *client_host + peer210: *client_host + peer211: *client_host + peer212: *client_host + peer213: *client_host + peer214: *client_host + peer215: *client_host + peer216: *client_host + peer217: *client_host + peer218: *client_host + peer219: *client_host + peer220: *client_host + peer221: *client_host + peer222: *client_host + peer223: *client_host + peer224: *client_host + peer225: *client_host + peer226: *client_host + peer227: *client_host + peer228: *client_host + peer229: *client_host + peer230: *client_host + peer231: *client_host + peer232: *client_host + peer233: *client_host + peer234: *client_host + peer235: *client_host + peer236: *client_host + peer237: *client_host + peer238: *client_host + peer239: *client_host + peer240: *client_host + peer241: *client_host + peer242: *client_host + peer243: *client_host + peer244: *client_host + peer245: *client_host + peer246: *client_host + peer247: *client_host + peer248: *client_host + peer249: *client_host + peer250: *client_host + peer251: *client_host + peer252: *client_host + peer253: *client_host + peer254: *client_host + peer255: *client_host + peer256: *client_host + peer257: *client_host + peer258: *client_host + peer259: *client_host + peer260: *client_host + peer261: *client_host + peer262: *client_host + peer263: *client_host + peer264: *client_host + peer265: *client_host + peer266: *client_host + peer267: *client_host + peer268: *client_host + peer269: *client_host + peer270: *client_host + peer271: *client_host + peer272: *client_host + peer273: *client_host + peer274: *client_host + peer275: *client_host + peer276: *client_host + peer277: *client_host + peer278: *client_host + peer279: *client_host + peer280: *client_host + peer281: *client_host + peer282: *client_host + peer283: *client_host + peer284: *client_host + peer285: *client_host + peer286: *client_host + peer287: *client_host + peer288: *client_host + peer289: *client_host + peer290: *client_host + peer291: *client_host + peer292: *client_host + peer293: *client_host + peer294: *client_host + peer295: *client_host + peer296: *client_host + peer297: *client_host + peer298: *client_host + peer299: *client_host + peer300: *client_host + peer301: *client_host + peer302: *client_host + peer303: *client_host + peer304: *client_host + peer305: *client_host + peer306: *client_host + peer307: *client_host + peer308: *client_host + peer309: *client_host + peer310: *client_host + peer311: *client_host + peer312: *client_host + peer313: *client_host + peer314: *client_host + peer315: *client_host + peer316: *client_host + peer317: *client_host + peer318: *client_host + peer319: *client_host + peer320: *client_host + peer321: *client_host + peer322: *client_host + peer323: *client_host + peer324: *client_host + peer325: *client_host + peer326: *client_host + peer327: *client_host + peer328: *client_host + peer329: *client_host + peer330: *client_host + peer331: *client_host + peer332: *client_host + peer333: *client_host + peer334: *client_host + peer335: *client_host + peer336: *client_host + peer337: *client_host + peer338: *client_host + peer339: *client_host + peer340: *client_host + peer341: *client_host + peer342: *client_host + peer343: *client_host + peer344: *client_host + peer345: *client_host + peer346: *client_host + peer347: *client_host + peer348: *client_host + peer349: *client_host + peer350: *client_host + peer351: *client_host + peer352: *client_host + peer353: *client_host + peer354: *client_host + peer355: *client_host + peer356: *client_host + peer357: *client_host + peer358: *client_host + peer359: *client_host + peer360: *client_host + peer361: *client_host + peer362: *client_host + peer363: *client_host + peer364: *client_host + peer365: *client_host + peer366: *client_host + peer367: *client_host + peer368: *client_host + peer369: *client_host + peer370: *client_host + peer371: *client_host + peer372: *client_host + peer373: *client_host + peer374: *client_host + peer375: *client_host + peer376: *client_host + peer377: *client_host + peer378: *client_host + peer379: *client_host + peer380: *client_host + peer381: *client_host + peer382: *client_host + peer383: *client_host + peer384: *client_host + peer385: *client_host + peer386: *client_host + peer387: *client_host + peer388: *client_host + peer389: *client_host + peer390: *client_host + peer391: *client_host + peer392: *client_host + peer393: *client_host + peer394: *client_host + peer395: *client_host + peer396: *client_host + peer397: *client_host + peer398: *client_host + peer399: *client_host + peer400: *client_host + peer401: *client_host + peer402: *client_host + peer403: *client_host + peer404: *client_host + peer405: *client_host + peer406: *client_host + peer407: *client_host + peer408: *client_host + peer409: *client_host + peer410: *client_host + peer411: *client_host + peer412: *client_host + peer413: *client_host + peer414: *client_host + peer415: *client_host + peer416: *client_host + peer417: *client_host + peer418: *client_host + peer419: *client_host + peer420: *client_host + peer421: *client_host + peer422: *client_host + peer423: *client_host + peer424: *client_host + peer425: *client_host + peer426: *client_host + peer427: *client_host + peer428: *client_host + peer429: *client_host + peer430: *client_host + peer431: *client_host + peer432: *client_host + peer433: *client_host + peer434: *client_host + peer435: *client_host + peer436: *client_host + peer437: *client_host + peer438: *client_host + peer439: *client_host + peer440: *client_host + peer441: *client_host + peer442: *client_host + peer443: *client_host + peer444: *client_host + peer445: *client_host + peer446: *client_host + peer447: *client_host + peer448: *client_host + peer449: *client_host + peer450: *client_host + peer451: *client_host + peer452: *client_host + peer453: *client_host + peer454: *client_host + peer455: *client_host + peer456: *client_host + peer457: *client_host + peer458: *client_host + peer459: *client_host + peer460: *client_host + peer461: *client_host + peer462: *client_host + peer463: *client_host + peer464: *client_host + peer465: *client_host + peer466: *client_host + peer467: *client_host + peer468: *client_host + peer469: *client_host + peer470: *client_host + peer471: *client_host + peer472: *client_host + peer473: *client_host + peer474: *client_host + peer475: *client_host + peer476: *client_host + peer477: *client_host + peer478: *client_host + peer479: *client_host + peer480: *client_host + peer481: *client_host + peer482: *client_host + peer483: *client_host + peer484: *client_host + peer485: *client_host + peer486: *client_host + peer487: *client_host + peer488: *client_host + peer489: *client_host + peer490: *client_host + peer491: *client_host + peer492: *client_host + peer493: *client_host + peer494: *client_host + peer495: *client_host + peer496: *client_host + peer497: *client_host + peer498: *client_host + peer499: *client_host + peer500: *client_host + peer501: *client_host + peer502: *client_host + peer503: *client_host + peer504: *client_host + peer505: *client_host + peer506: *client_host + peer507: *client_host + peer508: *client_host + peer509: *client_host + peer510: *client_host + peer511: *client_host + peer512: *client_host + peer513: *client_host + peer514: *client_host + peer515: *client_host + peer516: *client_host + peer517: *client_host + peer518: *client_host + peer519: *client_host + peer520: *client_host + peer521: *client_host + peer522: *client_host + peer523: *client_host + peer524: *client_host + peer525: *client_host + peer526: *client_host + peer527: *client_host + peer528: *client_host + peer529: *client_host + peer530: *client_host + peer531: *client_host + peer532: *client_host + peer533: *client_host + peer534: *client_host + peer535: *client_host + peer536: *client_host + peer537: *client_host + peer538: *client_host + peer539: *client_host + peer540: *client_host + peer541: *client_host + peer542: *client_host + peer543: *client_host + peer544: *client_host + peer545: *client_host + peer546: *client_host + peer547: *client_host + peer548: *client_host + peer549: *client_host + peer550: *client_host + peer551: *client_host + peer552: *client_host + peer553: *client_host + peer554: *client_host + peer555: *client_host + peer556: *client_host + peer557: *client_host + peer558: *client_host + peer559: *client_host + peer560: *client_host + peer561: *client_host + peer562: *client_host + peer563: *client_host + peer564: *client_host + peer565: *client_host + peer566: *client_host + peer567: *client_host + peer568: *client_host + peer569: *client_host + peer570: *client_host + peer571: *client_host + peer572: *client_host + peer573: *client_host + peer574: *client_host + peer575: *client_host + peer576: *client_host + peer577: *client_host + peer578: *client_host + peer579: *client_host + peer580: *client_host + peer581: *client_host + peer582: *client_host + peer583: *client_host + peer584: *client_host + peer585: *client_host + peer586: *client_host + peer587: *client_host + peer588: *client_host + peer589: *client_host + peer590: *client_host + peer591: *client_host + peer592: *client_host + peer593: *client_host + peer594: *client_host + peer595: *client_host + peer596: *client_host + peer597: *client_host + peer598: *client_host + peer599: *client_host + peer600: *client_host + peer601: *client_host + peer602: *client_host + peer603: *client_host + peer604: *client_host + peer605: *client_host + peer606: *client_host + peer607: *client_host + peer608: *client_host + peer609: *client_host + peer610: *client_host + peer611: *client_host + peer612: *client_host + peer613: *client_host + peer614: *client_host + peer615: *client_host + peer616: *client_host + peer617: *client_host + peer618: *client_host + peer619: *client_host + peer620: *client_host + peer621: *client_host + peer622: *client_host + peer623: *client_host + peer624: *client_host + peer625: *client_host + peer626: *client_host + peer627: *client_host + peer628: *client_host + peer629: *client_host + peer630: *client_host + peer631: *client_host + peer632: *client_host + peer633: *client_host + peer634: *client_host + peer635: *client_host + peer636: *client_host + peer637: *client_host + peer638: *client_host + peer639: *client_host + peer640: *client_host + peer641: *client_host + peer642: *client_host + peer643: *client_host + peer644: *client_host + peer645: *client_host + peer646: *client_host + peer647: *client_host + peer648: *client_host + peer649: *client_host + peer650: *client_host + peer651: *client_host + peer652: *client_host + peer653: *client_host + peer654: *client_host + peer655: *client_host + peer656: *client_host + peer657: *client_host + peer658: *client_host + peer659: *client_host + peer660: *client_host + peer661: *client_host + peer662: *client_host + peer663: *client_host + peer664: *client_host + peer665: *client_host + peer666: *client_host + peer667: *client_host + peer668: *client_host + peer669: *client_host + peer670: *client_host + peer671: *client_host + peer672: *client_host + peer673: *client_host + peer674: *client_host + peer675: *client_host + peer676: *client_host + peer677: *client_host + peer678: *client_host + peer679: *client_host + peer680: *client_host + peer681: *client_host + peer682: *client_host + peer683: *client_host + peer684: *client_host + peer685: *client_host + peer686: *client_host + peer687: *client_host + peer688: *client_host + peer689: *client_host + peer690: *client_host + peer691: *client_host + peer692: *client_host + peer693: *client_host + peer694: *client_host + peer695: *client_host + peer696: *client_host + peer697: *client_host + peer698: *client_host + peer699: *client_host + peer700: *client_host + peer701: *client_host + peer702: *client_host + peer703: *client_host + peer704: *client_host + peer705: *client_host + peer706: *client_host + peer707: *client_host + peer708: *client_host + peer709: *client_host + peer710: *client_host + peer711: *client_host + peer712: *client_host + peer713: *client_host + peer714: *client_host + peer715: *client_host + peer716: *client_host + peer717: *client_host + peer718: *client_host + peer719: *client_host + peer720: *client_host + peer721: *client_host + peer722: *client_host + peer723: *client_host + peer724: *client_host + peer725: *client_host + peer726: *client_host + peer727: *client_host + peer728: *client_host + peer729: *client_host + peer730: *client_host + peer731: *client_host + peer732: *client_host + peer733: *client_host + peer734: *client_host + peer735: *client_host + peer736: *client_host + peer737: *client_host + peer738: *client_host + peer739: *client_host + peer740: *client_host + peer741: *client_host + peer742: *client_host + peer743: *client_host + peer744: *client_host + peer745: *client_host + peer746: *client_host + peer747: *client_host + peer748: *client_host + peer749: *client_host + peer750: *client_host + peer751: *client_host + peer752: *client_host + peer753: *client_host + peer754: *client_host + peer755: *client_host + peer756: *client_host + peer757: *client_host + peer758: *client_host + peer759: *client_host + peer760: *client_host + peer761: *client_host + peer762: *client_host + peer763: *client_host + peer764: *client_host + peer765: *client_host + peer766: *client_host + peer767: *client_host + peer768: *client_host + peer769: *client_host + peer770: *client_host + peer771: *client_host + peer772: *client_host + peer773: *client_host + peer774: *client_host + peer775: *client_host + peer776: *client_host + peer777: *client_host + peer778: *client_host + peer779: *client_host + peer780: *client_host + peer781: *client_host + peer782: *client_host + peer783: *client_host + peer784: *client_host + peer785: *client_host + peer786: *client_host + peer787: *client_host + peer788: *client_host + peer789: *client_host + peer790: *client_host + peer791: *client_host + peer792: *client_host + peer793: *client_host + peer794: *client_host + peer795: *client_host + peer796: *client_host + peer797: *client_host + peer798: *client_host + peer799: *client_host + peer800: *client_host + peer801: *client_host + peer802: *client_host + peer803: *client_host + peer804: *client_host + peer805: *client_host + peer806: *client_host + peer807: *client_host + peer808: *client_host + peer809: *client_host + peer810: *client_host + peer811: *client_host + peer812: *client_host + peer813: *client_host + peer814: *client_host + peer815: *client_host + peer816: *client_host + peer817: *client_host + peer818: *client_host + peer819: *client_host + peer820: *client_host + peer821: *client_host + peer822: *client_host + peer823: *client_host + peer824: *client_host + peer825: *client_host + peer826: *client_host + peer827: *client_host + peer828: *client_host + peer829: *client_host + peer830: *client_host + peer831: *client_host + peer832: *client_host + peer833: *client_host + peer834: *client_host + peer835: *client_host + peer836: *client_host + peer837: *client_host + peer838: *client_host + peer839: *client_host + peer840: *client_host + peer841: *client_host + peer842: *client_host + peer843: *client_host + peer844: *client_host + peer845: *client_host + peer846: *client_host + peer847: *client_host + peer848: *client_host + peer849: *client_host + peer850: *client_host + peer851: *client_host + peer852: *client_host + peer853: *client_host + peer854: *client_host + peer855: *client_host + peer856: *client_host + peer857: *client_host + peer858: *client_host + peer859: *client_host + peer860: *client_host + peer861: *client_host + peer862: *client_host + peer863: *client_host + peer864: *client_host + peer865: *client_host + peer866: *client_host + peer867: *client_host + peer868: *client_host + peer869: *client_host + peer870: *client_host + peer871: *client_host + peer872: *client_host + peer873: *client_host + peer874: *client_host + peer875: *client_host + peer876: *client_host + peer877: *client_host + peer878: *client_host + peer879: *client_host + peer880: *client_host + peer881: *client_host + peer882: *client_host + peer883: *client_host + peer884: *client_host + peer885: *client_host + peer886: *client_host + peer887: *client_host + peer888: *client_host + peer889: *client_host + peer890: *client_host + peer891: *client_host + peer892: *client_host + peer893: *client_host + peer894: *client_host + peer895: *client_host + peer896: *client_host + peer897: *client_host + peer898: *client_host + peer899: *client_host + peer900: *client_host + peer901: *client_host + peer902: *client_host + peer903: *client_host + peer904: *client_host + peer905: *client_host + peer906: *client_host + peer907: *client_host + peer908: *client_host + peer909: *client_host + peer910: *client_host + peer911: *client_host + peer912: *client_host + peer913: *client_host + peer914: *client_host + peer915: *client_host + peer916: *client_host + peer917: *client_host + peer918: *client_host + peer919: *client_host + peer920: *client_host + peer921: *client_host + peer922: *client_host + peer923: *client_host + peer924: *client_host + peer925: *client_host + peer926: *client_host + peer927: *client_host + peer928: *client_host + peer929: *client_host + peer930: *client_host + peer931: *client_host + peer932: *client_host + peer933: *client_host + peer934: *client_host + peer935: *client_host + peer936: *client_host + peer937: *client_host + peer938: *client_host + peer939: *client_host + peer940: *client_host + peer941: *client_host + peer942: *client_host + peer943: *client_host + peer944: *client_host + peer945: *client_host + peer946: *client_host + peer947: *client_host + peer948: *client_host + peer949: *client_host + peer950: *client_host + peer951: *client_host + peer952: *client_host + peer953: *client_host + peer954: *client_host + peer955: *client_host + peer956: *client_host + peer957: *client_host + peer958: *client_host + peer959: *client_host + peer960: *client_host + peer961: *client_host + peer962: *client_host + peer963: *client_host + peer964: *client_host + peer965: *client_host + peer966: *client_host + peer967: *client_host + peer968: *client_host + peer969: *client_host + peer970: *client_host + peer971: *client_host + peer972: *client_host + peer973: *client_host + peer974: *client_host + peer975: *client_host + peer976: *client_host + peer977: *client_host + peer978: *client_host + peer979: *client_host + peer980: *client_host + peer981: *client_host + peer982: *client_host + peer983: *client_host + peer984: *client_host + peer985: *client_host + peer986: *client_host + peer987: *client_host + peer988: *client_host + peer989: *client_host + peer990: *client_host + peer991: *client_host + peer992: *client_host + peer993: *client_host + peer994: *client_host + peer995: *client_host + peer996: *client_host + peer997: *client_host + peer998: *client_host + peer999: *client_host + peer1000: *client_host \ No newline at end of file