{"id":14970717,"url":"https://github.com/witnet/witnet-solidity-bridge","last_synced_at":"2026-01-30T11:28:55.571Z","repository":{"id":37747209,"uuid":"187843143","full_name":"witnet/witnet-solidity-bridge","owner":"witnet","description":"Witnet Bridge for EVM-compatible blockchains","archived":false,"fork":false,"pushed_at":"2026-01-26T17:06:42.000Z","size":6598,"stargazers_count":63,"open_issues_count":17,"forks_count":22,"subscribers_count":8,"default_branch":"master","last_synced_at":"2026-01-27T05:30:26.542Z","etag":null,"topics":["data-feed","ethereum","oracle","price-feed","random-generation","solidity","witnet"],"latest_commit_sha":null,"homepage":"","language":"Solidity","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/witnet.png","metadata":{"files":{"readme":"README-draft.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-05-21T13:28:38.000Z","updated_at":"2026-01-26T17:06:37.000Z","dependencies_parsed_at":"2023-09-29T10:33:36.718Z","dependency_job_id":"2abb0f0d-3f66-4012-9e8d-f3426f858e6a","html_url":"https://github.com/witnet/witnet-solidity-bridge","commit_stats":{"total_commits":1300,"total_committers":14,"mean_commits":92.85714285714286,"dds":0.2484615384615385,"last_synced_commit":"6e7624fc9b1ce9bc3203e4a5dd362e612549a63a"},"previous_names":["witnet/witnet-ethereum-bridge"],"tags_count":43,"template":false,"template_full_name":null,"purl":"pkg:github/witnet/witnet-solidity-bridge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/witnet%2Fwitnet-solidity-bridge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/witnet%2Fwitnet-solidity-bridge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/witnet%2Fwitnet-solidity-bridge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/witnet%2Fwitnet-solidity-bridge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/witnet","download_url":"https://codeload.github.com/witnet/witnet-solidity-bridge/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/witnet%2Fwitnet-solidity-bridge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28911821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T08:15:08.179Z","status":"ssl_error","status_checked_at":"2026-01-30T08:14:31.507Z","response_time":66,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-feed","ethereum","oracle","price-feed","random-generation","solidity","witnet"],"created_at":"2024-09-24T13:44:02.127Z","updated_at":"2026-01-30T11:28:55.566Z","avatar_url":"https://github.com/witnet.png","language":"Solidity","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Wit/Oracle Solidity Framework -- Contracts, SDK and CLI tools for EVM-compatible chains\n\nThe **Wit/Oracle Solidity Framework** allows you to easily interact with the Wit/Oracle contracts framework, as deployed on a wide selection of **EVM-compatible chains**, either from Solidity smart contracts of your own, as well as offchain environments, automation scripts and Web3 apps.\n\n## ✨ Overview\n\nThis package contains:\n\n### Solidity contracts\n\n### Javascript library\n- A **Javascript library** allowing scripts to introspect the set of supported networks, ABIs, addresses and settings, as well as deployed Radon assets. It provides also wrapping Javascript classes for interacting with the Wit/Oracle Framework artifacts.\n\n### CLI binaries\n\n#### `npx witnet-solidity`\n  - List supported EVM ecosystems and chains where the Wit/Oracle Contract Framework is available.\n  - List addresses of the Wit/Oracle Framework artifacts for each supported chain.\n  - Build, leverage, test and deploy your own customized Witnet-compliant data queries. \n  - Show latest updates of the price feeds subsidized by the Witnet Foundation on each supported chain.\n  - Show latest data queries actively pulled from smart contracts via the Wit/Oracle Framework.\n  - Show latest randomize requests posted to Wit/Randomness contracts. \n  - Force randomize requests into specific Wit/Randomness contracts. \n  - Show latest data reports recently pushed into specific Witnet-aware consuming contracts. \n  - Push notarized data on Witnet into specific Witnet-aware consuming contracts.\n  - Build Solidity contracts capable of interacting with the Wit/Oracle Framework contracts. \n\n#### `npx witnet`\n  - Lorem ipsum.\n\n\n\u003e *This package imports as a runtime dependency the [**Witnet SDK**](https://github.com/witnet/witnet-toolkit) package, so both the SDK library and the CLI binary (`npx witsdk`) get installed and ready to use right out of the box.*\n\n## 📦 Installation\n\n```bash\n$ npm install --save @witnet/solidity\n```\n\n### Interact with Wit/Oracle appliances on EVM-compatible networks\n  ```typescript\n  import { assets, ethers, utils, WitOracle } from \"@witnet/ethers\"\n  ```\n### Interact with the Witnet network by using the embedded Witnet SDK library\n  ```typescript\n  import { Witnet } from \"@witnet/sdk\"\n  ```\n\n## ⚙️ Requirements\n\n- Node.js \u003e= 20\n- Sufficient balance of the EVM's gas currency for transacting in your preferred EVM-compatible network.\n- Sufficient $WIT balance for notarizing real-world data requests in Witnet. \n\n## 🔧 Configuration\n\nBoth the CLI and the Javascript library can be configured using a **.env** file or by setting this environment variable:\n```bash\n  ETHRPC_PRIVATE_KEYS=[\"your_eth_private_key_1\", ..., \"your_eth_private_key_n\"]\n```\nAdditionally, you can settle your preferred ETH/RPC provider when launching the local gateway (see below).\n\n## 🧪 Supported EVM-compatible Networks\n\n\u003e *Please, visit the [Witnet Docs site](https://docs.witnet.io/smart-contracts/supported-chains) to get an up-to-date list of supported EVM chains.*\n\n## 🛠️ Usage\n\n### CLI binary\n\n```bash\n$ npx witeth \u003ccommand\u003e [\u003cargs\u003e] [\u003cflags\u003e] [\u003coptions\u003e] [--help]\n```\n\n\u003e *You need to have a local **ETH/RPC gateway** running in order to get access to extra commands. You will only be able to interact with the Wit/Oracle appliances if you connect to a supported EVM network first.*\n\n----\n#### `npx witeth networks`\nLists EVM networks where the Wit/Oracle Contract Framework is supported.\n\n**Flags**:\n- `--mainnets`: Just list the mainnets.\n- `--testnets`: Just list the testnets.\n\n----\n#### `npx witeth gateway \u003cevm_network\u003e`\nLaunches a local ETH/RPC signing gateway to the specified `evm_network`, listening on port 8545 if no otherwise specified.\n\n**Options**:\n  - `--port`: Port where the new gateway should be listening on.\n  - `--remote`: URL of the ETH/RPC remote provider to use instead of the gateway's default for the specified network. \n\n\u003e *Launch a gateway to your preferred EVM network on a different terminal so you can augment the available commands of the `witeth` CLI binary. If you launch the gateway on a port other than default's, you'll need to specify `--port \u003cPORT\u003e` when invoking other commands of the `witeth` binary.*\n\n----\n#### `npx witeth accounts`\nLists set of local EVM signing addresses set up in the gateway, as well as their current balance of the EVM's native currency. \n\n----\n#### `npx witeth assets [\u003cradon_assets\u003e ..]`\nShows the Radon assets within your project that have been formally verified and deployed into the connected EVM network. It also allows you to verify and deploy additional Radon assets.\n\n**Flags**:\n- `--all`: List all available Radon assets, even if not yet deployed.\n- `--decode`: Decode selected Radon assets, using the currently deployed bytecode.\n- **`--deploy`**: Deploy or replace the selected assets, on the current EVM network.\n- `--dry-run`: Dry-run selected Radon assets, using the currently deployed bytecode (superseded `--decode`).\n- `--legacy`: Filter Radon assets to those declared within the **witnet/assets** folder of your project.\n\n**Options**:\n- `--module`: Specify the NPM package where to fetch declared Radon assets from (supersedes `--legacy`).\n- `--signer`: EVM signer address to use when deploying Radon assets, other than the gateway's default.\n\n----\n#### `npx witeth contracts`\nLists addresses of all available Wit/Oracle Framework artifacts.\n\n**Flags**:\n- `--templates`: Include parameterized Radon templates deployed specifically for this project, if any.\n\n----\n#### `npx witeth priceFeeds`\nShows latest updates of the price feeds supported by the specified Wit/PriceFeeds appliance.\n\nFor each price feed the following data is shown:\n- The symbol (e.g. Price-ETH/USD-6).\n- Last updated price.\n- Time elapsed since the last price update.\n- API's where price updates are extract from, and aggregated together.\n\n**Flags**:\n- `--trace-back`: Trace witnessing acts on Witnet that actually provided latest updates for each price feed.\n\n----\n#### `npx witeth queries`\nShows latest Wit/Oracle queries actively pulled from smart contracts.\n\n**Flags**:\n- `--voids`: Include queries that got eventually deleted by their respective requesters.\n- `--trace-back`: Trace the witnessing acts on Witnet that attended each listed query. \n\n**Options**:\n- `--filter-radHash`: Filter queries referring specified RAD hash.\n- `--filter-requester`: Filter queries triggered from the specified EVM address.\n- `--since`: List queries since the specified EVM block number (default: -5000).\n- `--limit`: Limit number of listed records (default: 64).\n- `--offset`: Filter first records before listing.\n\n----\n#### `npx witeth randomness`\nShows randomize requests posted on the selected Wit/Randomness appliance. It also allows to force new randomize requests.\n\n**Flags**:\n- **`--randomize`**: Pay for a new randomize request.\n- `--trace-back`: Trace the witnessing acts on Witnet that ultimately provided randomness for each randomization request.\n\n**Options**:\n- `--since`: List randomize requests since the specified EVM block number (default: -5000).\n- `--limit`: Limit number of listed records (default: 64).\n- `--offset`: Filter first records before listing.\n- `--gasPrice`: Max. EVM gas price when requesting a new randomize.\n- `--signer`: EVM signer address that will pay for the new randomize, other than gateway's default.\n\n----\n#### `npx witeth reports`\nShows verified data reports pushed into `IWitOracleConsumer` contracts. It also allows to push the results of Witnet-notarized queries into consuming contracts (no fees required).\n\n**Flags**:\n- `--parse`: Decode the CBOR-encoded data that got reported. \n- `--trace-back`: Trace the notarized query on Witnet that produced the reported data. \n\n**Options**:\n- `--filter-consumer`: Only show data reported into the specified EVM address.\n- `--filter-requester`: Only show data reported from the specified EVM address.\n- `--since`: List pushed data reports since the specified EVM block number (default: -5000).\n- `--limit`: Limit number of listed records (default: 64).\n- `--offset`: Filter first records before listing.\n- **`--push`**: Push the result to some finalized query in Witnet.\n- `--into`: The EVM address where to push the data query result.\n\n---\n### Javascript library\n\u003e *Please, find Javascript and Typescript code snippets in the [Witnet Docs site](https://docs.witnet.io/).*\n\n## 🧱 Built With\n- Axios\n- Ethers v6\n- [ETH/RPC Gateway](https://npmjs.com/ethrpc-gateway) \n- Node.js\n- [Witnet SDK](https://npmjs.com/@witnet/sdk)\n\n## 🔐 Security\n- Do not share your private keys.\n- Use trusted RPC endpoints when using third-party providers.\n\n## 📚 Documentation\nLearn more about Witnet, the $WIT coin and the Wit/Oracle Appliance Framework for smart contracts at:\n\n👉 https://docs.witnet.io \n👉 https://witnet.io \n👉 https://witnet.foundation/\n\n## 🧾 License\nMIT © 2025 — Maintained by the [Witnet Project](https://github.com/witnet).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwitnet%2Fwitnet-solidity-bridge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwitnet%2Fwitnet-solidity-bridge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwitnet%2Fwitnet-solidity-bridge/lists"}