Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.0%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: beartongtong
  • Language: Python
  • Default Branch: main
  • Size: 5.65 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme Citation

README.md

Usage

The command-line interface for the doc-phi can be used as:

Usage: shard-eval [OPTIONS] COMMAND [ARGS]...

Options: --help Show this message and exit.

Commands: analyze-log Analyze the generated log files batch-run-simulation Initiate simulations in batches execute-simulator execute simulator completely run-simulation Initiate a simulation summarize-logs Summarize the generated log files visualize-file visualize the generated log files ```

A more elaborate explanation is as follows:

1. Running Simulation

The simulation can be executed by: shard-eval run-simulation The simulation executes as per the parameters specified in the config/params.json file. The result of the simulation are the log files which are stored accordingly in the folder simulation_logs.

Note: To generate detailed logs, set verbose to 1 in the params.json file.

2. Running Simulation in Batch

The simulation can be executed in batch by using following command: shard-eval batch-run-simulation

The script.py file needs to be changed accordingly to generate the logs as per the required parameters.

3. Analyzing the logs

The generated log files can be analyzed by:

shard-eval analyze-log --log_file=<log_file>

Upon execution, several files (html, txt, csv, png) will be created in respective folders inside the logs_data which will contain a detailed analysis of the log file.

4. Summarizing the logs (in batch)

To create a summary of the logs, following command can be used:

shard-eval summarize-logs --log_dir=<logs_directory>

A single csv file containing the summary of all the logs will be generated.

5. Visualizing the summary of the logs

After creating the summary, the csv file can be visualized using:

shard-eval visualize-file --summary_file=<summary_file>

Several plots will be created inside the suitable directories under the logs_data directory.

6. End-to-end execution of the simulator

To execute the simulator completely and perform all the steps in an instant, following command can be useful:

shard-eval execute-simulator

Citations

If you use this simulator in your research, please cite:

bib @InProceedings{10.1007/978-3-031-49099-6_21, author = "Priyadarshi, Vishisht and Goel, Sourav and Kapoor, Kalpesh", title = "Analysis of Optimal Number of Shards Using ShardEval, A Simulator for Sharded Blockchains", booktitle = "Information Systems Security", year = "2023", publisher = "Springer Nature Switzerland" } # python-blockchain

Owner

  • Name: TangYiXiong
  • Login: beartongtong
  • Kind: user

A computer science student studying blockchain development

Citation (CITATION.bib)

@InProceedings{10.1007/978-3-031-49099-6_21,
    author="Priyadarshi, Vishisht
    and Goel, Sourav
    and Kapoor, Kalpesh",
    editor="Muthukkumarasamy, Vallipuram
    and Sudarsan, Sithu D.
    and Shyamasundar, Rudrapatna K.",
    title="Analysis of Optimal Number of Shards Using ShardEval, A Simulator for Sharded Blockchains",
    booktitle="Information Systems Security",
    year="2023",
    publisher="Springer Nature Switzerland",
    address="Cham",
    pages="339--359",
    abstract="Blockchain-based networks have found increasing usage in various fields due to their distributed nature, immutability, public verifiability, and zero trust requirement. Monolithic blockchain systems such as Bitcoin and Ethereum are not scalable. Sharding is a promising approach among the various solutions that have been proposed in the literature to improve the scalability of such monolithic systems. However, designing, testing, and identifying critical parameters of sharding-based protocols for blockchain networks is challenging. We present ShardEval, a simulator to evaluate sharding-based protocols for blockchain networks. We have used ShardEval to identify critical parameters of a sharded blockchain network. In particular, we determine the optimal number of shards in a network with a fixed percentage of cross-shard transactions. The simulation results are validated against the rigorous theoretical analysis, confirming the correctness under reasonable assumptions. Using the insights gained from simulation and theoretical analysis, we introduce Lookup Table to improve the transaction throughput further. The theoretical framework and simulator bridge the gap between designing and testing sharding-based protocols.",
    isbn="978-3-031-49099-6"
}

GitHub Events

Total
  • Push event: 2
  • Create event: 2
Last Year
  • Push event: 2
  • Create event: 2

Dependencies

requirements.txt pypi