My apologies for such a broad question, I couldn't find anything remotely similar to my case and I've got lots of questions - I'll try to narrow the scope down here.
Premise: I'm a data science student doing a research project regarding DAO-based community insurance pools, and I'm interested in running some simulations based on collected data to see how a DAO would handle "normal" activity regarding insurance claims and procedures.
Problem Description: Simulate arrivals (interactions with smart contract platform) and events (automated payouts to customers, etc) utilizing collected real-world data in XML format. Obviously, utilizing the data as a basis for simulation is my problem to handle, and not the purpose of the question. I'll be basing the simulation on Poisson arrival processes and queueing theory, randomizing events reflecting the occurrence of real-world events, collecting data on wait times, throughput, transactions, and attempt to stress the network in as many ways as possible.
Goal: To identify structural bottlenecks/weaknesses in a distributed/decentralized community pool, compare processing times to centralized solutions (I'll be simulating the mainnet throughput in this private chain), and start building a prototype to be used as an example in my research proposal.
QUESTIONS FOR THE COMMUNITY / TL;DR:
- Are there any repositories, references, examples, or existing projects I can reference that involve (any kind of) simulations of interactions with smart contracts and the Ethereum network of any kind?
- I'm not a true software engineer, I just know how to program in a few languages - would it be the most straightforward approach to just write the entire simulation environment in JS, interacting with the backend in this way? Or is there a better approach for this? Any tips/tutorials/references?
- Are there any specific sources/guides/tutorials available involving JS scripts that automatically interact with smart contracts in both directions? It's one thing to store information on the blockchain, but I'm not sure where to start learning how I can take observe the blockchain via ganache/truffle and reinput this back into the simulation to update parameters. I've already found an open-source smart contract platform for insurance (Etherisc), although many of the dependencies in this project (such as Oraclize) are unnecessary for this project and I'll have to find ways to remove such dependency.
Again, sorry for such broad questions - it seems like we're in such uncharted territory that most people are just bumping around and trying new things, and very few concrete examples or advanced guides are easily found. Although I've read lots of documentation, so much of it is cumbersome, I've already got the basics down, and I'm on a strict timetable so I can only do so much reading before I need to start working. Apologies for my naivety.
Thanks for the replies in advance!