Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dapplion/blob_share
Protocol to share fractions of EIP-4844 blob space
https://github.com/dapplion/blob_share
Last synced: about 19 hours ago
JSON representation
Protocol to share fractions of EIP-4844 blob space
- Host: GitHub
- URL: https://github.com/dapplion/blob_share
- Owner: dapplion
- Created: 2023-11-18T16:02:48.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-01-04T16:14:33.000Z (about 1 year ago)
- Last Synced: 2024-12-28T06:48:15.018Z (10 days ago)
- Language: Rust
- Homepage: https://dapplion.github.io/blob_share/
- Size: 1.52 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Blob sharing protocol
Implementation of trusted blob sharing protocol. Supports submissions via a permissionless API authenticated via ECDSA signatures. Publishers pre-pay credits via on-chain transfers. For complete rationale and design decisions, refer to https://hackmd.io/@dapplion/blob_sharing
```
Usage: blobshare [OPTIONS] --database-urlOptions:
-p, --port
Name of the person to greet [env: PORT=] [default: 5000]
-b, --bind-address
Number of times to greet [env: BIND_ADDRESS=] [default: 127.0.0.1]
--eth-provider
JSON RPC endpoint for an ethereum execution node [env: ETH_PROVIDER=] [default: ws://127.0.0.1:8546]
--eth-provider-interval
JSON RPC polling interval in miliseconds, used for testing [env: ETH_PROVIDER_INTERVAL=]
--starting-block
First block for service to start accounting [env: STARTING_BLOCK=] [default: 0]
--data-dir
Directory to persist anchor block finalized data [env: DATA_DIR=] [default: ./data]
--mnemonic
Mnemonic for tx sender. If not set a random account will be generated. TODO: UNSAFE, handle hot keys better [env: MNEMONIC=]
--panic-on-background-task-errors
FOR TESTING ONLY: panic if a background task experiences an error for a single event [env: PANIC_ON_BACKGROUND_TASK_ERRORS=]
--finalize-depth
Consider blocks `finalize_depth` behind current head final. If there's a re-org deeper than this depth, the app will crash and expect to re-sync on restart [env: FINALIZE_DEPTH=] [default: 64]
--max-pending-transactions
Max count of pending transactions that will be sent before waiting for inclusion of the previously sent transactions. A number higher than the max count of blobs per block should not result better UX. However, a higher number risks creating transactions that can become underpriced in volatile network conditions [env: MAX_PENDING_TRANSACTIONS=] [default: 6]
--database-url
Database URL to mysql DB with format `mysql://user:password@localhost/test` [env: DATABASE_URL=]
--metrics
Enable serving metrics [env: METRICS=]
--metrics-port
Metrics server port. If it's the same as the main server it will be served there [env: METRICS_PORT=] [default: 9000]
--metrics-bearer-token
Require callers to the /metrics endpoint to add Bearer token auth [env: METRICS_BEARER_TOKEN=]
--metrics-push-url
Enable prometheus push gateway to the specified URL [env: METRICS_PUSH_URL=]
--metrics-push-interval-sec
Customize push gateway frequency [env: METRICS_PUSH_INTERVAL_SEC=] [default: 15]
--metrics-push-basic-auth
Provide Basic Auth for push gateway requests [env: METRICS_PUSH_BASIC_AUTH=]
--metrics-push-format
Format to send push gateway metrics [env: METRICS_PUSH_FORMAT=] [default: protobuf] [possible values: protobuf, plain-text]
-h, --help
Print help
-V, --version
Print version```
## Usage
WIP / unpublished