union README

The project's README from github.com/unionlabs/union. As one markdown file: README.md.

Union

built with garnix Docs Discord badge Twitter handle

Union is the hyper-efficient zero-knowledge infrastructure layer for general message passing, asset transfers, NFTs, and DeFi. Its based on Consensus Verification and has no dependencies on trusted third parties, oracles, multi-signatures or MPC. It implements IBC for compatibility with Cosmos chains and connects to EVM chains like Ethereum, Berachain (beacon-kit), Arbitrum, and more.

The upgradability of contracts on other chains, connections, token configurations, and evolution of the protocol will all be controlled by decentralized governance, aligning the priorities of Union with its users, validators, and operators.

Components

Component Description Language(s)
uniond The Union node implementation, using CometBLS Go
galoisd The zero-knowledge prover implementation Go Gnark
voyager Modular hyper-performant cross-ecosystem relayer Rust
cosmwasm CosmWasm smart contract stack Rust
light-clients Light Clients for various ecosystems Rust
unionvisor Node supervisor intended for production usage Rust
drip Faucet for Cosmos chains: app.union.build/faucet Rust
evm EVM smart contract stack Solidity
app app.union.build TypeScript Svelte
site union.build TypeScript Astro
TypeScript SDK TypeScript SDK for interacting with Union TypeScript

Quickstart

Install Nix to reproducibly build any component, and to enter a dev shell with all dependencies:

curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install

(Note that some components can only be built on Linux. If you are using macOS, we recommend using OrbStack to easily set up a NixOS VM within two minutes. Most Union developers use macOS with OrbStack, and there is no need to install Nix inside of the NixOS VM.)

You can now reproducibly build any of Union's components from source:

nix build .#uniond -L
nix build .#voyager -L
nix build .#app -L

# to see all packages, run:
nix flake show

The result of whatever you build will be in result/

You can now also enter our dev shell, which has all of the dependencies (cargo, rustc, node, go, etc.) you need to work on any component: (Don't worry, this will not affect your system outside of this repo)

nix develop

Run the following to format the entire repo and check your spelling before each PR:

nix run .#pre-commit -L

Check the #developers channel on Union's discord if you need any help with this.

Supported Chains

Network Mainnets Testnets
Arbitrum arbitrum.42161 arbitrum.421614
Babylon babylon.bbn-1 babylon.bbn-test-6
Base base.8453 base.84532
Berachain berachain.80094 berachain.80069
Bob bob.60808 bob.808813
BSC bsc.56 bsc.97
Corn corn.21000000 corn.21000001
Ethereum ethereum.1 ethereum.11155111, ethereum.560048
Osmosis osmosis.osmosis-1 osmosis.osmo-test-5
Sei sei.pacific-1, sei.1329 sei.atlantic-2, sei.1328
Sui - sui.4c78adac
Union union.union-1 union.union-testnet-10
Xion xion.xion-mainnet-1 xion.xion-testnet-2

For the full list see https://docs.union.build/ucs/04/

Docs

The official docs are hosted here. Each individual component also has accompanying developer documentation for contributors, which you can find in each README.md.

union (unionlabs/union)

Searching Database…

73.7K ·GitHub
这是什么?Union 是一个零知识桥接协议,让你可以在 Cosmos 链与 Ethereum 等 EVM 链之间传递消息、转移资产和 NFT,并使用 DeFi 服务,无需依赖预言机、多重签名或可信第三方。
这是单个应用,还是一组组件?这是一个包含多个组件的单体仓库:有 Cosmos 节点(uniond)、零知识证明器(galoisd)、中继器(voyager)、CosmWasm 和 EVM 智能合约、轻客户端、水龙头、网页应用,以及 TypeScript SDK。
我该如何搭建开发环境?安装 Nix,它能提供任意组件的可复现构建,并附带一个预装了所需工具(cargo、rustc、node、go 等)的开发环境。
除了 Nix,构建这个项目还需要别的东西吗?不需要,Nix 本身就会安装完整的工具链(cargo、rustc、node、go),所以你无需单独安装 Rust、Go 或 Node。
我能在 macOS 上构建所有组件吗?不能直接构建。部分组件只能在 Linux 上构建,因此建议 Mac 用户通过 OrbStack 运行 NixOS 虚拟机,而不是在本机直接构建。
目前可以在哪些链之间进行桥接?主网和测试网已支持 Arbitrum、Babylon、Base、Berachain、Bob、BSC、Corn、Ethereum、Osmosis、Sei、Sui、Union 和 Xion,完整列表在仓库中单独维护。
Union 与其他桥有什么不同?它通过自研的证明器(galoisd)和 CometBLS 共识,采用共识验证与零知识证明,而不是预言机、多签或 MPC,并实现了 IBC,与 Cosmos 原生兼容。
voyager 是什么?Voyager 是 Union 用 Rust 编写的模块化、高性能跨生态中继器,负责在相连的链之间转发 IBC 数据包。
有测试用的水龙头吗?有。“drip”是一个用 Rust 编写的 Cosmos 链水龙头,可在 app.union.build/faucet 使用。
Creator
unionlabs
Size
473.9 MB
Stars
73.7K
Age
3y
Commits · 90 Days