version: "1.0" logging: level: "info" console: true # printing log to console is only supported in development mode # for testing # 500 MB - 536870912 # 1 GB - 1073741824 # 2 GB - 2147483648 # 3 GB - 3221225472 # 100 GB - 107374182400 capacity: 1073741824 # 1 GB bytes total blobber capacity storage_version: 1 read_price: 0.00 write_price: 0.001 price_in_usd: false price_worker_in_hours: 12 is_enterprise: true # update_allocations_interval used to refresh known allocation objects from SC update_allocations_interval: 60m #finalize_allocations_interval used to get and finalize empty allocations finalize_allocations_interval: 24h # maximum limit on the number of combined directories and files on each allocation max_dirs_files: 50000 # maximum limit on the number of objects in a directory max_objects_dir: 1000 # delegate wallet (must be set) delegate_wallet: 'e984e37602ecd8ac5201638b45bc63d73bd2416bf8b91d9deb514bd6819b16fc' # maximum allowed number of stake holders num_delegates: 10 # service charge of the blobber service_charge: 0.3 # min submit from miners` min_submit: 20 # min confirmation from sharder min_confirmation: 10 block_worker: https://test2.zus.network/dns rate_limiters: # Rate limiters will use this duration to clean unused token buckets. # If it is 0 then token will expire in 10 years. default_token_expire_duration: 5m # If blobber is behind some proxy eg. nginx, cloudflare, etc. proxy: true # Rate limiter is applied with two parameters. One is ip-address and other is clientID. # Rate limiter will track both parameters independently and will block request if both # ip-address or clientID has reached its limit # Blobber may not provide any rps values and default will work fine. # Commit Request Per second. Commit endpoint is resource intensive. # Default is 0.5 commit_rps: 1600 # File Request Per Second. This rps is used to rate limit basically upload and download requests. # Its better to have 2 request per second. Default is 1 file_rps: 1600 # Object Request Per Second. This rps is used to rate limit GetReferencePath, GetObjectTree, etc. # which is resource intensive. Default is 0.5 object_rps: 1600 # General Request Per Second. This rps is used to rate limit endpoints like copy, rename, get file metadata, # get paginated refs, etc. Default is 5 general_rps: 1600 # Number of blocks downloaded in a day. Default is 100GB(the value needs to be in blocks which is data/64KB) block_limit_daily: 1562500 # Max blocks per download request. Default is 500 block_limit_request: 500 # Max blocks in a month for a client. Default is 2000GB(the value needs to be in blocks which is data/64KB) block_limit_monthly: 31250000 # Max upload limit in a month for a client. Default is 2000GB(the value needs to be in blocks which is data/64KB) upload_limit_monthly: 31250000 # Max commit limit in a month for a client. Default is 30000 commit_limit_monthly: 1000000000 # Max commit limit in a day for a client. Default is 1600 commit_limit_daily: 1600 # Max commit limit with size zero or less in a day for a client. Default is 400 commit_zero_limit_daily: 400 # Max connection changes in a batch. Default is 100 max_connection_changes: 100 server_chain: id: "0afc093ffb509f059c55478bc1a60351cef7b4e9c008a53a6cc8241ca8617dfe" owner: "edb90b850f2e7e7cbd0a1fa370fdcc5cd378ffbec95363a7bc0e5a98b8ba5759" genesis_block: id: "ed79cae70d439c11258236da1dfa6fc550f7cc569768304623e8fbd7d70efae4" signature_scheme: "bls0chain" contentref_cleaner: frequency: 30 tolerance: 3600 openconnection_cleaner: frequency: 30 tolerance: 3600 # 60 * 60 writemarker_redeem: frequency: 10 num_workers: 5 max_chain_length: 32 max_timestamp_gap: 1800 # max timestamp gap to redeem write marker in seconds marker_redeem_interval: 1m readmarker_redeem: frequency: 10 num_workers: 5 challenge_response: frequency: 10 num_workers: 5 max_retries: 20 cleanup_gap: 100000 healthcheck: frequency: 5m # send healthcheck to miners every 60 minutes disable_transaction: false # set to true to skip health check transactions on registration pg: user: postgres password: postgres db: name: blobber_meta user: blobber_user password: blobber host: postgres port: 5432 archive_path: "/var/lib/postgresql/hdd" storage: files_dir: "/path/to/hdd" # sha256 hash will have 64 characters of hex encoded length. So if dir_level is [2,2] this means for an allocation id # "4c9bad252272bc6e3969be637610d58f3ab2ff8ca336ea2fadd6171fc68fdd56" directory below will be created. # alloc_dir = {files_dir}/4c/9b/ad252272bc6e3969be637610d58f3ab2ff8ca336ea2fadd6171fc68fdd56 # # So this means, there will maximum of 16^4 = 65536 numbers directories for all allocations stored by blobber. # Similarly for some file_hash "ef935503b66b1ce026610edf18bffd756a79676a8fe317d951965b77a77c0227" with dir_level [2, 2, 1] # following path is created for the file: # {alloc_dir}/ef/93/5/503b66b1ce026610edf18bffd756a79676a8fe317d951965b77a77c0227 alloc_dir_level: [2, 1] #TODO sort it out file_dir_level: [2, 2, 1] #TODO remove disk_update: # defaults to true. If false, blobber has to manually update blobber's capacity upon increase/decrease # If blobber has to limit its capacity to 5% of its capacity then it should turn automaci_update to false. automatic_update: true blobber_update_interval: 5m # In minutes # integration tests related configurations integration_tests: # address of the server address: host.docker.internal:15210 # lock_interval used by nodes to request server to connect to blockchain # after start lock_interval: 1s admin: username: "admin" password: "password" 0box: public_key: 112e0c312ba021a1ea201bad4a4135b042384f9d918b5b1670954cc2c514c5212aa547da3f9d15bfc08110b5c03a62ab34eea7bd0bc8988992c733bd405a930c