https://github.com/bnb-chain/greenfield-sp-standard-test
It is a testing tool used to verify if the SP meets the standards for joining the Greenfield network.
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.5%) to scientific vocabulary
Repository
It is a testing tool used to verify if the SP meets the standards for joining the Greenfield network.
Basic Info
Statistics
- Stars: 5
- Watchers: 4
- Forks: 4
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
greenfield-sp-standard-test
Description
The Greenfield Storage Provider Standard Test is a testing tool used to verify if the SP meets the standards for joining the Greenfield network. It integrates functional verification and performance verification testing.
Disclaimer
The software and related documentation are under active development, all subject to potential future change without notification and not ready for production use. The code and security audit have not been fully completed and not ready for any bug bounty. We advise you to be careful and experiment on the network at your own risk. Stay safe out there.
Usage
Clone the repository.
shell
git clone https://github.com/bnb-chain/greenfield-sp-standard-test.git
cd greenfield-sp-standard-test
go mod tidy
1. Configure the SP address and the private key and test account in the configuration file ./config/config.yaml.
2. Run the functional verification tests by executing the following command:
shell
go test -v -run TestSPFunctional -timeout 30m
3. Run the performance verification tests by executing the following command:
shell
go test -v -run TestSPLoad -timeout 60m
Functional verification(func_test.go)
The functional verification tests ensure that the storage provider supports the functionalities required to meet the standard. The following functionalities are verified:
- Test00UploadMultiSizeFile:
- Upload and download of files of different sizes.
- Test01DeleteObjectBucket:
- Deletion of buckets and objects.
- Test02CheckDownloadQuota:
- Quota check for downloads.
- Test03VerifySPPrice:
- Verify SP price is not zero.
- Test04VerifyAuth:
- Permission check for file upload and download.
- Test05ListUserBucketObject:
- Listing user buckets and objects.
- Test06GetNonce:
- Query the current user account key record.
- Test08BucketsByIdsObjectsByIds:
- Listing user bucket and object by ID.
- Test09ListGroupByNameAndPrefix:
- Query a list of group by given prefix/name.
- Test10UpdateAccountKey:
- Update the current user account key record in SP.
- Test11UniversalEndpoint:
- Public and private universal Endpoint verification.
- Test12OffChainAuth:
- Verify off-chain authentication specification.
Performance verification(load_test.go)
The performance verification tests confirm if the storage provider's upload and download functions work properly under concurrent conditions. The following parameters can be configured in the config/config.yaml file: ```yaml
performance test params
TPS: 2
Number of users, If the user.csv file does not exist or the number of accounts in it is less than the configured value, new account private keys will be automatically generated and saved in the user.csv file
NumUsers: 10
performance test duration(in seconds)
Duration: 60 Upload: true Download: true
File size (in bytes) random ~10kb (FileSize + random(10*1024))
FileSize: 1024 ```
During the execution of the performance tests, the generated test private keys and the information of created buckets and objects will be automatically saved in user.csv, buckets.csv, and objects.csv. If you need to reset and rerun the tests, you can manually delete these files.
Owner
- Name: bnb-chain
- Login: bnb-chain
- Kind: organization
- Website: https://www.bnbchain.org
- Twitter: BNBChain
- Repositories: 99
- Profile: https://github.com/bnb-chain
For BNB Chain: BNB Smart Chain, BNB Beacon Chain
GitHub Events
Total
- Watch event: 1
Last Year
- Watch event: 1
Issues and Pull Requests
Last synced: over 1 year ago
All Time
- Total issues: 2
- Total pull requests: 18
- Average time to close issues: 9 days
- Average time to close pull requests: about 9 hours
- Total issue authors: 2
- Total pull request authors: 2
- Average comments per issue: 5.5
- Average comments per pull request: 0.0
- Merged pull requests: 17
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: about 23 hours
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- 2019jack (1)
- bq1024 (1)
Pull Request Authors
- MockY-B (15)
- ruojunm (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 0
proxy.golang.org: github.com/bnb-chain/greenfield-sp-standard-test
- Homepage: https://github.com/bnb-chain/greenfield-sp-standard-test
- Documentation: https://pkg.go.dev/github.com/bnb-chain/greenfield-sp-standard-test#section-documentation
- License: AGPL-3.0