{"id":23899093,"url":"https://github.com/gonative-cc/relayer","last_synced_at":"2025-07-14T03:36:46.353Z","repository":{"id":255657903,"uuid":"853331173","full_name":"gonative-cc/relayer","owner":"gonative-cc","description":"Relayer for Native \u003c-\u003e Sui \u003c-\u003e Bitcoin","archived":false,"fork":false,"pushed_at":"2025-04-07T21:53:54.000Z","size":680,"stargazers_count":5,"open_issues_count":33,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-07T22:33:46.015Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.gonative.cc/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gonative-cc.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-06T12:53:15.000Z","updated_at":"2025-04-07T17:06:44.000Z","dependencies_parsed_at":"2024-09-14T02:43:41.730Z","dependency_job_id":"a212553d-a222-429f-924f-51f183d12ea0","html_url":"https://github.com/gonative-cc/relayer","commit_stats":null,"previous_names":["gonative-cc/relayer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gonative-cc%2Frelayer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gonative-cc%2Frelayer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gonative-cc%2Frelayer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gonative-cc%2Frelayer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gonative-cc","download_url":"https://codeload.github.com/gonative-cc/relayer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248268932,"owners_count":21075697,"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":[],"created_at":"2025-01-04T18:15:50.298Z","updated_at":"2025-04-10T18:11:59.376Z","avatar_url":"https://github.com/gonative-cc.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- markdownlint-disable MD041 --\u003e\n\u003c!-- markdownlint-disable MD013 --\u003e\n\n\u003c!-- ![Logo!](assets/logo.png) --\u003e\n\n# NATIVE Relayer\n\n[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#wip)\n[![GoDoc](https://img.shields.io/badge/godoc-reference-blue?style=flat-square\u0026logo=go)](https://godoc.org/github.com/gonative-cc/relayer)\n[![Go Report Card](https://goreportcard.com/badge/github.com/gonative-cc/relayer?style=flat-square)](https://goreportcard.com/report/github.com/gonative-cc/relayer)\n[![Version](https://img.shields.io/github/tag/gonative-cc/relayer.svg?style=flat-square)](https://github.com/gonative-cc/relayer)\n[![License: MPL-2.0](https://img.shields.io/github/license/gonative-cc/relayer.svg?style=flat-square)](https://github.com/gonative-cc/relayer/blob/main/LICENSE)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](https://github.com/gonative-cc/contributig/blob/master/CODE_OF_CONDUCT.md)\n\n## Summary\n\nA software that monitors and relayers:\n\n- CometBFT blocks to update Native light client on Ika\n- Bitcoin blocks to update Bitcoin light client on Native\n- Bitcoin SPV proofs to verify dWallet holdings\n- Native -\u003e Bitcoin transaction relayer\n\n### Status\n\nStatus scheme:\n\n```text\nMock -\u003e WIP -\u003e alpha -\u003e beta -\u003e production\n```\n\n| Service          | status |\n| :--------------- | :----- |\n| Native-\\\u003eIka     | WIP    |\n| Native-\\\u003eBitcoin | WIP    |\n| Native-\\\u003eBitcoin | :x:    |\n| Bitcoin SPV      |        |\n\n## Documentation\n\n1. Database\n   - [interacitons](docs/db.md)\n   - [schema diagram](docs/schema.md)\n2. [Flow diagram](docs/flow.md)\n\n## Contributing\n\nParticipating in open source is often a highly collaborative experience. We’re encouraged to create in public view, and we’re incentivized to welcome contributions of all kinds from people around the world.\n\nCheck out [contributing repo](https://github.com/gonative-cc/contributig) for our guidelines \u0026 policies for how to contribute. Note: we require DCO! Thank you to all those who have contributed!\n\nAfter cloning the repository, make sure to run `make setup-hooks`.\n\n### Security\n\nCheck out [SECURITY.md](./SECURITY.md) for security concerns.\n\n## Setup\n\n1. Make sure you have `go`, `make` installed\n2. Copy and update your env file: `cp .env.example .env`\n3. Build the project: `make build`\n\nTo build and start you can run: `make build start`\n\nIn order to run Native -\u003e Bitcoin relayer PoC:\n\n1. Copy and update .env.example file to .env `cp env.example .env`\n2. Run script with path of transaction file as command line argument: `go run main.go transaction.txt`\n\n### Development\n\n1. Run `make setup` (will setup git hooks)\n2. Install and make sure it is in your PATH:\n\n   - [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2)\n   - [revive](https://github.com/mgechev/revive)\n\n### Coding notes\n\n1. Use `env.Init()` to setup logger and load ENV variables.\n1. Use `zerolog.log` logger, eg:\n\n   ```go\n   import \"github.com/rs/zerolog/log\"\n   //...\n   log.Info().Int(\"block\", minimumBlockHeight).Msg(\"Start relaying msgs\")\n   ```\n\n## Talk to us\n\n- Follow the Native team's activities on the [Native X/Twitter account](https://x.com/NativeNetwork).\n- Join the conversation on [Native Discord](https://discord.gg/gonative).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgonative-cc%2Frelayer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgonative-cc%2Frelayer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgonative-cc%2Frelayer/lists"}