{"id":19245189,"url":"https://github.com/omnilaboratory/obd","last_synced_at":"2025-04-09T18:23:52.668Z","repository":{"id":39801819,"uuid":"195633331","full_name":"omnilaboratory/obd","owner":"omnilaboratory","description":"OmniBOLT daemon, a golang implementation of OmniBOLT spec, the smart assets lightning network.","archived":false,"fork":false,"pushed_at":"2023-07-24T08:06:53.000Z","size":95781,"stargazers_count":216,"open_issues_count":32,"forks_count":14,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-02T12:14:31.554Z","etag":null,"topics":["bitcoin","blockchain-technology","lightning-network","omnilayer","usdt"],"latest_commit_sha":null,"homepage":"","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/omnilaboratory.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-07T09:30:55.000Z","updated_at":"2025-03-24T07:17:48.000Z","dependencies_parsed_at":"2024-06-18T21:40:56.408Z","dependency_job_id":null,"html_url":"https://github.com/omnilaboratory/obd","commit_stats":{"total_commits":1371,"total_committers":17,"mean_commits":80.6470588235294,"dds":0.637490882567469,"last_synced_commit":"c10700bc2355abd2eec4fcb5b173057af6815a0d"},"previous_names":["lightningonomnilayer/lightningonomni","omnilaboratory/lightningonomni"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omnilaboratory%2Fobd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omnilaboratory%2Fobd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omnilaboratory%2Fobd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omnilaboratory%2Fobd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/omnilaboratory","download_url":"https://codeload.github.com/omnilaboratory/obd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248086144,"owners_count":21045282,"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":["bitcoin","blockchain-technology","lightning-network","omnilayer","usdt"],"created_at":"2024-11-09T17:26:55.115Z","updated_at":"2025-04-09T18:23:52.654Z","avatar_url":"https://github.com/omnilaboratory.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OmniBOLT Daemon | Smart Asset Lightning Network\n[![](https://img.shields.io/badge/license-MIT-blue)](https://github.com/omnilaboratory/obd/blob/master/LICENSE) [![](https://img.shields.io/badge/standard%20readme-OK-brightgreen)](https://github.com/omnilaboratory/obd/blob/master/README.md) [![](https://img.shields.io/badge/golang-%3E%3D1.9.0-orange)](https://golang.org/dl/) [![](https://img.shields.io/badge/protocol-OmniBOLT-brightgreen)](https://github.com/omnilaboratory/OmniBOLT-spec) \n[![](https://img.shields.io/badge/API%20V0.3-Document-blue)](https://api.omnilab.online) \n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"500\" alt=\"OmniBOLT-banner\" src=\"docs/assets/omni-lightning-3.jpg\"\u003e\n\u003c/p\u003e\n\n\nOBD implements the [OmniBOLT](https://github.com/omnilaboratory/OmniBOLT-spec) specification, and it is an open source, off-chain decentralized platform, build upon BTC/OmniLayer network, implements basic multi hop HTLC payment, multi-currency atomic swap, and more off-chain contracts on the network of [smart assets lightning channels](https://github.com/omnilaboratory/OmniBOLT-spec/blob/master/OmniBOLT-02-peer-protocol.md#omni-address).  \n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"500\" alt=\"None Custodial OmniBOLT Daemon\" src=\"docs/assets/None-Custodial-OmniBOLT-Daemon-2.png\"\u003e\n\u003c/p\u003e\n    \n\n\u003c!-- The latest document/tutorial has been moved to [OmniBOLT - Developers](https://omnilaboratory.github.io/obd/#/OBD-README).  --\u003e\n\nTo know how obd works, jump to the [OmniBOLT - Architecture](https://omnilaboratory.github.io/obd/#/Architecture).  \n\nThe latest features and ETA is here: [OmniBOLT - Features and Roadmap](https://omnilaboratory.github.io/obd/#/features).  \n\n## Quick Start on Regtest:\n\nUsers can get quickly started with graphic or command line tools:  \n\n#### Polar\nThe graphic terminal is provided by Polar, and is customized for obd: [Polar - GUI Terminal Customized](https://github.com/omnilaboratory/polar/releases). \n\nPolar helps Lightning Network application developers quickly build networks locally on their computers. Here is a short video demo: [https://twitter.com/omni_bolt/status/1549709303921410048?s=20\u0026t=-M9Y4L0Bw_VialiSVPgqmA](https://twitter.com/omni_bolt/status/1549709303921410048?s=20\u0026t=-M9Y4L0Bw_VialiSVPgqmA)  \n\n#### Docker\n\nDocker helps people to quickly interact with obd and omnicore via command line tools. OBD uses `docker-compose` to package `obd`, `omnicored`, and `btcd` together to make deploying these daemons easily. Please check the `docker-compose.yml` config file for all the configurations under:\n\n```\nhttps://github.com/omnilaboratory/lnd/tree/obd/docker/obtest\n```\n\nWe compiled and deployed images for your testing: \n* obd docker: ccr.ccs.tencentyun.com/omnicore/ob-lnd:0.1.0\n\nNow we can:  \n\n#### Mint tokens  \nUsing omnicore to issue tokens with fixed amount or manageable supply:  \n\nFor example, use [`omni_sendissuancefixed`](https://github.com/OmniLayer/omnicore/blob/master/src/omnicore/doc/rpc-api.md#omni_sendissuancefixed) to issue `1000000` `Quantum Miner` tokens on the Bitcoin mainchain: \n```\n$ omnicore-cli \"omni_sendissuancefixed\" \\\n    \"3Ck2kEGLJtZw9ENj2tameMCtS3HB7uRar3\" 2 1 0 \"Companies\" \"Bitcoin Mining\" \\\n    \"Quantum Miner\" \"\" \"\" \"1000000\"\n```\n\nPlease visit [https://github.com/OmniLayer/omnicore/blob/master/src/omnicore/doc/rpc-api.md](https://github.com/OmniLayer/omnicore/blob/master/src/omnicore/doc/rpc-api.md) to learn how to use omnicore to manage tokens on-chain.  \n \n\n#### Build obd network, and Lightning pay tokens\n\n[test-shell-template.md](https://github.com/omnilaboratory/lnd/blob/obd/docker/obtest/test-shell-template.md) instructs how to start with command line tool to interact with obd, including: \n* [build a network with three nodes(Alice, Bob, Carol)](https://github.com/omnilaboratory/lnd/blob/obd/docker/obtest/test-shell-template.md#startup) \n* [generate address](https://github.com/omnilaboratory/lnd/blob/obd/docker/obtest/test-shell-template.md#newaddress)\n* [fund each node by assets](https://github.com/omnilaboratory/lnd/blob/obd/docker/obtest/test-shell-template.md#faucet)  \n* [open channels](https://github.com/omnilaboratory/lnd/blob/obd/docker/obtest/test-shell-template.md#openchannel) \n* [create invoices](https://github.com/omnilaboratory/lnd/blob/obd/docker/obtest/test-shell-template.md#addinvoice) \n* [pay invoices](https://github.com/omnilaboratory/lnd/blob/obd/docker/obtest/test-shell-template.md#sendpayment)  \n\nThe testing asset id is `--asset_id = 2147483651`.  \n\nTo issue assets on the Bitcoin/Omnilayer mainnet, you should deploy an omnicore full node and execute the cli to mint. For non-developers, we recommend you to visit the official [https://www.omniwallet.org/](https://www.omniwallet.org/) (https://github.com/OmniLayer/omniwallet) for easier and quicker managing your assets.  \n\n## Backend and Faucet(Regtest, Testnet)\n\nThe [omnicore proxy](https://github.com/omnilaboratory/omnicore-proxy) offers the backend public anonymous omni/bitcoin services for obd nodes.  \nIt is specified in the parameter `omnicoreproxy.rpchost` when an OBD node starts. For example, as in the `docker/lnd/start-a.sh, docker/obtest/docker-compose.yml`, the `regnet.oblnd.top:18332` is where the proxy deployed:  \n```\ncommand: \u003e-\n      lnd-debug --noseedbackup --trickledelay=5000 --alias=alice\n      --externalip=alice --tlsextradomain=alice --tlsextradomain=alice\n      --listen=0.0.0.0:9735 --rpclisten=0.0.0.0:10009 --restlisten=0.0.0.0:8080\n      --bitcoin.active --bitcoin.regtest --bitcoin.node=omnicoreproxy\n      --omnicoreproxy.rpchost=regnet.oblnd.top:18332 \n      --omnicoreproxy.zmqpubrawblock=tcp://regnet.oblnd.top:28332\n      --omnicoreproxy.zmqpubrawtx=tcp://regnet.oblnd.top:28333\n```\n\nThe proxy decouples the lightning node and the full Bitcoin/Omnilayer node, to lower the barriers of OBD deployment, especially for mobile nodes. \n\nThe complete white-listed services are: [https://github.com/omnilaboratory/omnicore-proxy/blob/master/whitelist_proxy/whitelist_proxy.go](https://github.com/omnilaboratory/omnicore-proxy/blob/master/whitelist_proxy/whitelist_proxy.go).  \n\nOBD supports three networks: regtest, testnet and mainnet; Each network supports three backends: bitcoind, omnicore proxy, and neutrino. For a neutrino backend, an omnicore proxy must be specified.  \n\nThe network is specified by param: `--bitcoin.xxxxxx`:  　\n```shell\n#regtest \n--bitcoin.regtest\n#testnet \n--bitcoin.testnet\n#mainnet \n--bitcoin.mainnet\n```\n\nThe backend is specified by: `--bitcoin.node=[bitcoind|omnicoreproxy|neutrino|]`:  \n(Currently, we only support these 3 modes, each has different connection type and certification method.)  \n* bitcoind\n```shell\n  --bitcoind.rpchost=\"$BTC_HOST_ADDRESS_PORT\"\n  --bitcoind.rpcuser=\"$RPCUSER\"\n  --bitcoind.rpcpass=\"$RPCPASS\" \n  --bitcoind.zmqpubrawblock=tcp://\"$BTC_HOST_ADDRESS\":28332 \n  --bitcoind.zmqpubrawtx=tcp://\"$BTC_HOST_ADDRESS\":28333\n```\n* omnicoreproxy\n```shell\n    --omnicoreproxy.rpchost=\"$OMNI_HOST_ADDRESS_PORT\" \n    --omnicoreproxy.zmqpubrawblock=tcp://\"$OMNI_HOST_ADDRESS_PORT\":28332 \n    --omnicoreproxy.zmqpubrawtx=tcp://\"$OMNI_HOST_ADDRESS_PORT\":28333\n```\n\n* neutrino\n```shell\n    --neutrino.connect=\"$BTC_HOST_ADDRESS\"\n    --omnicoreproxy.rpchost=\"$OMNI_HOST_ADDRESS_PORT\"\n    --neutrino.feeurl=https://nodes.lightning.computer/fees/v1/btc-fee-estimates.json #only mainnet\n```  \n\n#### Depolyed Backends\nOn each network, not all 3 backends are deployed. We currently maintain the following backends for the community:   \n\n* regtest: ~3 blocks per 2 minutes.\n```\n  * omnicoreproxy\n    * Asia：  \n      `$omni_host_adress_port`=43.138.107.248   \n      `$omni: http://43.138.107.248:9090/swaggerTool/?surl=http://43.138.107.248:8090/openapiv2/foo.swagger.json  \n\n  * neutrino\n    * Asia：  \n      `$omni_host_adress_port`=43.138.107.248   \n      `$omni_host_adress_port`=43.138.107.248:18332   \n      faucet: http://43.138.107.248:9090/swaggerTool/?surl=http://43.138.107.248:8090/openapiv2/foo.swagger.json    \n    * neutrino.db downloading list: https://cache.oblnd.top/neutrino-regtest/  \n      When downloading neutrino.db, add date to url to get correct file. For example: https://cache.oblnd.top/neutrino-regtest/neutrino.db?date=2022-12-22 \n    * Put the downloaded database file under `${LNDIR}/data/chain/bitcoin/regtest/`  \n```\n\n* testnet  ~1 blocks per 2 to 18 minutes.  \n```\n  * neutrino\n    * Asia：\n      `$BTC_HOST_ADDRESS`=192.144.199.67  \n      `$OMNI_HOST_ADDRESS_PORT`=192.144.199.67:18332  \n      token faucet: http://43.138.107.248:9090/swaggerTool/?surl=http://192.144.199.67:8090/openapiv2/foo.swagger.json  \n      token-property id: 2147485160  \n      token-owner: mvd6r2KRoaMVr7Y9mDe8pDxe5a5iZLJHN9  \n      \n    * Other countries and regions:  \n      `$BTC_HOST_ADDRESS`=testnet.oblnd.top  \n      `$OMNI_HOST_ADDRESS_PORT`=192.144.199.67:18332  \n      token faucet: http://43.138.107.248:9090/swaggerTool/?surl=http://192.144.199.67:8090/openapiv2/foo.swagger.json  \n      token-property id: 2147485160      \n      token-owner: mvd6r2KRoaMVr7Y9mDe8pDxe5a5iZLJHN9  \n\n    * btc-testnet faucet: https://testnet-faucet.com/btc-testnet/  \n    * neutrino.db downloading list: https://cache.oblnd.top/neutrino-testnet/    \n      When downloading neutrino.db, add date to url to get correct file. For example: https://cache.oblnd.top/neutrino-testnet/neutrino.db?date=2022-12-22\n    * We generate database file at 8:00 UTC+8 every day.   \n    * Put the downloaded database file under `${LNDIR}/data/chain/bitcoin/testnet/`  \n```        \n    \n      \n* mainnet\n　to be done. \n\n\n## Liquidity nodes\nLiquidity nodes offer token/BTC inbound/outbound liquidity to users' nodes, especially for OBWallet mobile nodes.  \n* regtest: 0386790984cda19a179486bf45f7a1d7dc58964605b928e3d36cd7806ce3d31cdb@otest:9735  \n* testnet: 025767c2a772bb48f04117625c2da759d55d3e287c101602452c5228c975111594@192.144.199.67:9735  \n* mainnet: TO BE ADDED  \n\n\n\n## Community\n\nDiscord: [http://discord.gg/2QYqzSMZuy](http://discord.gg/2QYqzSMZuy)  \nSlack: [https://join.slack.com/t/omnibolt/shared_invite/zt-ad732myf-1G7lXpHPkFH_yRcilwT4Ig](https://join.slack.com/t/omnibolt/shared_invite/zt-ad732myf-1G7lXpHPkFH_yRcilwT4Ig)\n\n## Video Tutorials\nVideo tutorials can be found here:   \n  \n* [OmniBOLT Technology guide part I](https://youtu.be/G-T_uwqzDAI)  \n\n## Mainnet warning\nOBD is still in an early stage, and `sendToMany` in omnicore is still under development. We do not recommend running it on mainnet with real money just yet, which may lead to loss of funds unless you want to take a reckless adventure.  \n\n## Security\nIf you discover a vulnerability, weakness, or threat that can potentially compromise the security of obd, we ask you to keep it confidential and submit your concern directly to [the team](mailto:neo.carmack@gmail.com?subject=%5BGitHub%5D%20OmniBOLT%20Security).\n\n \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomnilaboratory%2Fobd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fomnilaboratory%2Fobd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomnilaboratory%2Fobd/lists"}