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.

https://github.com/bnb-chain/greenfield-sp-standard-test

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
Last synced: 10 months ago · JSON representation

Repository

It is a testing tool used to verify if the SP meets the standards for joining the Greenfield network.

Basic Info
  • Host: GitHub
  • Owner: bnb-chain
  • License: agpl-3.0
  • Language: Go
  • Default Branch: main
  • Homepage:
  • Size: 161 KB
Statistics
  • Stars: 5
  • Watchers: 4
  • Forks: 4
  • Open Issues: 0
  • Releases: 0
Created about 3 years ago · Last pushed over 2 years ago
Metadata Files
Readme License

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

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
  • Versions: 0
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 8.5%
Average: 9.0%
Dependent repos count: 9.6%
Last synced: 11 months ago