nucleus

module
v0.0.0-...-ff73d50 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 20, 2024 License: GPL-3.0

README

Nucleus

Nucleus Node Implementation & Protocol

What is Nucleus?

The Nucleus interoperability layer is a cutting-edge Inter-Blockchain Communication (IBC) solution developed by Komodo. The AtomicDEX integration facilitates seamless cross-protocol atomic swaps and other XCAT (cross-chain atomic transaction) operations between Cosmos (tendermint) assets and non-tendermint assets, such as UTXO blockchains like Bitcoin, Litecoin, DGB, Doge, as well as EVM-compatible ledgers including Ethereum, Polygon, BNB Smart Chain, and numerous others. With Nucleus, DeFi-developers as well as endusers can enjoy a remarkable level of interoperability between diverse blockchain protocols/ecosystems, while benefiting from the security and reliability of Komodo's advanced technology stack.

Getting Started

Build Dependencies

In order to build nucleus successfuly, you will need golang(+1.16), gnu make and gcc to be installed on your system.

Installation
  • Build source code:
    git clone https://github.com/KomodoPlatform/nucleus
    cd nucleus
    make clean install
    
Configuration

Check init.py bootstrapping script and update/add any configuration you want. You can also manually utilize everything under ~/.nucleusd directory.

Usage
  • First, initialize ~/.nucleus (make sure nucleusd is installed befoer executing this)

    python3 init.py
    # or for linux and macos users
    ./init.py
    
  • Simple kickstart

    nucleusd start
    
  • You can also configure systemd service for nucleusd with the following configuration:

    [Unit]
    Description=Nucleus Deamon
    After=network-online.target
    
    [Service]
    Environment="HOME=${path_to_home}"
    ExecStart=${path_to_nucleusd_dir}/nucleusd start
    Restart=always
    RestartSec=3
    LimitNOFILE=4096
    
    [Install]
    WantedBy=multi-user.target
    

Directories

Path Synopsis
app
cmd
testutil
nullify
Package nullify provides methods to init nil values structs for test assertion.
Package nullify provides methods to init nil values structs for test assertion.
x
nolint
htlc/types
nolint
nolint
nucleus/types
Package types is a reverse proxy.
Package types is a reverse proxy.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL