meteorite is a powerful tool designed to empower users to test and validate the performance and security claims of Cosmos-based blockchains. By providing an easy-to-use testing suite, meteorite enables advanced users to ensure that the blockchains they depend on are robust, secure, and capable of handling real-world conditions.
- Decentralized File Storage Testing: Utilize mainnet state to test decentralized file storage capabilities.
- Performance Testing: Simplify configuration for comprehensive performance evaluations.
- Fee Market Module Testing: Verify that gas prices increase as expected to prevent peer-to-peer (P2P) storms, ensuring network stability.
- IBC Security Testing: Assess the safety of a chain against potential threats like the "Banana King" exploit.
- CometBFT Testing: Evaluate chain resilience against P2P storms and other network stressors.
To install meteorite, run the following commands:
git clone https://github.com/somatic-labs/meteorite
cd meteorite
go install ./...
meteorite comes with pre-configured mainnet settings available in the configurations
folder. To get started:
- Ensure you have a file named
seedphrase
containing your seed phrase. - (Optional) Set up your own node with a larger mempool (e.g., 10 GB) that accepts a higher number of transactions (e.g., 50,000).
- Edit the
nodes.toml
file to include your RPC URLs and adjust any other necessary settings. - Run
meteorite
in the same directory as yournodes.toml
andseedphrase
files.
This will initiate the testing suite with your specified configurations.
- Responsible Use: meteorite is designed for use on mainnets. The tokens you own grant you the right to make any valid transaction. Like any user of any chain, meteorite can only make valid transactions.
- Test your favorite mainnet, yourself, and make sure that you can't get Luna'd
- Test your favorite mainnet, yourself, and make sure that you can't get Levana'd
Over $70,001,400,000 has been lost to the class of issues named p2p storms.
If you're investing, test the chain. It's free if you tweet about using meteorite.
- Valid Transactions Only: The tool operates within the bounds of valid transactions explicitly supported by the chains it tests.
- Reporting Issues: For questions about meteorite's capabilities or to report potential security issues, please contact the project maintainers through the appropriate channels listed in this repository.
meteorite was developed to enhance the testing capabilities for Cosmos-based blockchains after identifying areas where additional testing tools were needed. By simulating various scenarios, meteorite helps developers and users alike to better understand the limits and robustness of their chains.
- Banana King Exploit Testing: Initially reported in 2022, this test ensures that chains are secure against known exploits.
- P2P Storms Testing: Reported in 2021 and observed in networks like Luna Classic (2022) and Stride (2023), this test evaluates the chain's ability to handle network stress.
The release of meteorite has contributed to:
- Improved Awareness: Highlighting potential vulnerabilities and encouraging proactive improvements in network security.
- Enhanced Security Measures: Prompting fixes for issues like P2P storms after thorough testing and community engagement.
Additional information is available at faddat/fasf-report.
We welcome contributions from the community to enhance meteorite's features and capabilities. If you'd like to contribute or have feedback, please open an issue or submit a pull request on GitHub.