{"id":23768309,"url":"https://github.com/bisonai/orakl","last_synced_at":"2025-04-04T18:03:31.603Z","repository":{"id":65859066,"uuid":"567148336","full_name":"Bisonai/orakl","owner":"Bisonai","description":"Official Oracle of Kaia Blockchain","archived":false,"fork":false,"pushed_at":"2025-03-26T02:46:51.000Z","size":12747,"stargazers_count":73,"open_issues_count":55,"forks_count":20,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-29T05:05:56.516Z","etag":null,"topics":["blockchain","data-feed","evm","kaia","klaytn","off-chain-aggregation","oracle","orakl-network","proof-of-reserve","request-response","solidity","vrf","web3"],"latest_commit_sha":null,"homepage":"https://orakl.network","language":"Go","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/Bisonai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":"audit/20230609_Verichains_Public_Audit_Report.pdf","citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-17T07:05:37.000Z","updated_at":"2025-03-26T02:46:54.000Z","dependencies_parsed_at":"2023-02-22T19:45:14.056Z","dependency_job_id":"3881300b-6bc3-4874-914e-ca3f7004f5be","html_url":"https://github.com/Bisonai/orakl","commit_stats":{"total_commits":1558,"total_committers":16,"mean_commits":97.375,"dds":0.503209242618742,"last_synced_commit":"1a034d5f1c0b520af792ab199cee59e7aea517f7"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bisonai%2Forakl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bisonai%2Forakl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bisonai%2Forakl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bisonai%2Forakl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bisonai","download_url":"https://codeload.github.com/Bisonai/orakl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247226211,"owners_count":20904465,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["blockchain","data-feed","evm","kaia","klaytn","off-chain-aggregation","oracle","orakl-network","proof-of-reserve","request-response","solidity","vrf","web3"],"created_at":"2025-01-01T01:28:00.542Z","updated_at":"2025-04-04T18:03:31.560Z","avatar_url":"https://github.com/Bisonai.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Orakl Network\n\nThis repository is split to [on-chain](contracts) and off-chain oracle implementation.\n\nYou can learn more about the Orakl Network from [documentation](https://orakl-network.gitbook.io).\n\n\u003cdetails\u003e\n\u003csummary\u003e Run dockers locally \u003c/summary\u003e\n\n### VRF / Request-Response\n\nRun the following command to build all images\n\n```bash\ndocker-compose -f docker-compose.local-core.yaml build\n```\n\nSet wallet credentials, `ADDRESS` and `PRIVATE_KEY` values, in the [.core-cli-contracts.env](./dockerfiles/local-vrf-rr/envs/.core-cli-contracts.env) file. You can update `CHAIN` to either `baobab` and `cypress`. For running the `VRF` service, update [vrf-keys-baobab.json](./dockerfiles/local-vrf-rr/envs/vrf-keys-baobab.json) or [vrf-keys-cypress.json](./dockerfiles/local-vrf-rr/envs/vrf-keys-cypress.json). If the chain is not `localhost`, `Coordinator` and `Prepayment` contracts won't be deployed. Instead, Bisonai's already deployed contract addresses ([VRF](https://github.com/Bisonai/vrf-consumer/blob/master/hardhat.config.ts), [RR](https://github.com/Bisonai/request-response-consumer/blob/master/hardhat.config.ts)) will be used. Run the following command to start the VRF / RequestResponse service:\n\n```bash\nSERVICE=vrf docker-compose -f docker-compose.local-core.yaml up --force-recreate -d\n```\n\n`SERVICE` is an env variable that will be used to spin up the specified service. The options are `rr` and `vrf` stands for Request-Response and VRF, respectively.\n\n**Note** that the current docker implementation is designed to run a single service, either `rr` or `vrf`, at a time. Therefore, it's highly recommended to add `--force-recreate` when running `docker-compose up` command. That will restart all containers thus removing all the modified data in those containers.\n\nHere is what happens after the above command is run:\n\n- `api`, `postgres`, `redis`, and `json-rpc` services will start as separate docker containers\n- `postgres` will get populated with necessary data:\n  - chains\n  - services\n  - vrf keys in case if the service is vrf\n  - listener (after contracts are deployed)\n  - reporter (after contracts are deployed)\n- if the chain is `localhost`:\n  - migration files in `contracts/v0.1/migration/` get updated with provided keys and other values\n  - `contracts/v0.1/hardhat.config.cjs` file gets updated with `PROVIDER_URL`\n  - relevant coordinator and prepayment contracts get deployed\n\nTo start core microservices (listener, worker, reporter) as a singleton service run:\n\n- production mode\n  ```sh\n  yarn start:core:vrf\n  # or\n  yarn start:core:request_response\n  ```\n- development mode\n  ```sh\n  yarn dev:core:vrf\n  # or\n  yarn dev:core:request_response\n  ```\n\nThe microservices can also be started separately in any arbitrary order by replacing `core` in the above commands with either `listener`, `worker`, or `reporter`\n\n\u003c/details\u003e\n\n## Main Elements\n\n### API\n\nThe API serves as an interface for other services (VRF, RR, CLI) to access service data.\n\n### CLI\n\nIncludes commands that node operators can use to manage VRF and RR.\n\n### Contracts\n\nContains all on-chain contracts for the service and related scripts.\n\n### Core\n\nContains off-chain code for VRF and RR.\n\n### Delegator\n\nA service to run fee payer for delegated transactions by push oracles.\n\n### Node\n\nContains off-chain code for off-chain aggregation and related services.\n\n### Others\n\n- Audit: Holds contract audit details.\n- Dockerfiles: Includes Dockerfiles for deployment.\n- Sentinel: Internal alarm service for stable service maintenance.\n\n## Image tags\n\n[image tag release](./TAGS.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbisonai%2Forakl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbisonai%2Forakl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbisonai%2Forakl/lists"}