2

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.

Tools and Languages: Ganache-cli, JavaScript, Solidity, (maybe) Python and/or Java? I've already got a private chain set up and a basic smart contract framework implemented, but no idea how to begin automating processes.

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:

  1. 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?
  2. 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?
  3. 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!

  • Welcome to the SE! This question is quite broad, it is better to ask several individual questions that can be concretely answered instead of 3 open ended questions. So just a warning that this question may be closed, but feel free to open new questions. – Tjaden Hess Jul 31 '18 at 18:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.