python-blockchain
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
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
Metadata Files
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
- Repositories: 1
- Profile: https://github.com/beartongtong
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