All Projects → KomodoPlatform → atomicDEX-API

KomodoPlatform / atomicDEX-API

Licence: other
This is the official AtomicAPI (atomicDEX API) repository

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to atomicDEX-API

Atomicdex Desktop
atomicDEX Desktop app - project codename "Dextop"
Stars: ✭ 126 (+93.85%)
Mutual labels:  p2p, dex, erc20
Mobidex
Mobile trustless trading through Uniswap
Stars: ✭ 61 (-6.15%)
Mutual labels:  dex, erc20
scpx-wallet
Scoop Wallet: Core open-source, multi-asset & cross-platform CLI
Stars: ✭ 18 (-72.31%)
Mutual labels:  erc20, qtum
atomic-swap-kit-android
Atomic Swap Android library for Bitcoin (BTC) and Bitcoin Cash (BCH) swaps in decentralized manner. Implemented on Kotlin.
Stars: ✭ 17 (-73.85%)
Mutual labels:  dex, atomic-swap
Waykichain
Public Blockchain as a Decentralized Finance Infrastructure Service Platform
Stars: ✭ 1,117 (+1618.46%)
Mutual labels:  p2p, dex
etomic-swap
Etomic Swap Smart Contract allowing ETH and ERC20 atomic swaps on AtomicDex platform.
Stars: ✭ 37 (-43.08%)
Mutual labels:  komodo, atomic-swap
udpeer
A simple UDP peer to peer networking proxy using webrtc
Stars: ✭ 19 (-70.77%)
Mutual labels:  p2p
haitou
Private Torrent Forum/Tracker in Portuguese BR (On Development now)
Stars: ✭ 16 (-75.38%)
Mutual labels:  p2p
developer.bitcoin.org
Bitcoin.org Developer Documentation
Stars: ✭ 98 (+50.77%)
Mutual labels:  p2p
bigbrother-specs
Research and specification for Big Brother protocol
Stars: ✭ 13 (-80%)
Mutual labels:  p2p
orbit-core
Orbit communication protocol and library
Stars: ✭ 70 (+7.69%)
Mutual labels:  p2p
bittube
Legacy BitTube 3 CLI Utilities
Stars: ✭ 14 (-78.46%)
Mutual labels:  p2p
MithrilShards
.NET 6 extensible P2P Network / Distributed services library.
Stars: ✭ 15 (-76.92%)
Mutual labels:  p2p
itoken
yToken wrappers for automated investment strategy tokenization
Stars: ✭ 71 (+9.23%)
Mutual labels:  erc20
BitPoker
Decentralised peer to peer poker, using bitcoin
Stars: ✭ 36 (-44.62%)
Mutual labels:  p2p
wyvern-v3
Wyvern Protocol v3.1, Ethereum implementation
Stars: ✭ 153 (+135.38%)
Mutual labels:  dex
nkn-sdk-js
JavaScript Implementation of NKN Client and Wallet SDK
Stars: ✭ 34 (-47.69%)
Mutual labels:  p2p
Diffy
🎞️💓🍿 Love streaming - It's always best to watch a movie together ! 🤗
Stars: ✭ 37 (-43.08%)
Mutual labels:  p2p
nicotine-plus
Graphical client for the Soulseek peer-to-peer network
Stars: ✭ 601 (+824.62%)
Mutual labels:  p2p
FISCO-BCOS
FISCO BCOS是由微众牵头的金链盟主导研发、对外开源、安全可控的企业级金融区块链底层技术平台。 单链配置下,性能TPS可达万级。提供群组架构、并行计算、分布式存储、可插拔的共识机制、隐私保护算法、支持全链路国密算法等诸多特性。 经过多个机构、多个应用,长时间在生产环境中的实践检验,具备金融级的高性能、高可用性及高安全性。FISCO BCOS is a secure and reliable financial-grade open-source blockchain platform. The platform provides rich features including group architecture, cross-chain communication protoc…
Stars: ✭ 1,603 (+2366.15%)
Mutual labels:  p2p

downloads last commit
issues issues closed pulls pulls closed
build status release version chat on Discord follow on Twitter

What is the AtomicDEX-API?

The AtomicDEX API core is open-source atomic-swap software for seamless, decentralised, peer to peer trading between almost every blockchain asset in existence. This software works with propagation of orderbooks and swap states through the libp2p protocol and uses Hash Time Lock Contracts (HTLCs) for ensuring that the two parties in a swap either mutually complete a trade, or funds return to thier original owner.

There is no 3rd party intermediatary, no proxy tokens, and at all times users remain in sole possession of their private keys.

A well documented API offers simple access to the underlying services using simple language agnostic JSON structured methods and parameters such that users can communicate with the core in a variety of methods such as curl in CLI, or fully functioning desktop and mobile applications like AtomicDEX Desktop.

For a curated list of AtomicDEX based projects and resources, check out Awesome AtomicDEX.

Features

  • Perform blockchain transactions without a local native chain (e.g. via Electrum servers)
  • Query orderbooks for all pairs within the supported coins
  • Buy/sell from the orderbook, or create maker orders
  • Configure automated "makerbot" trading with periodic price updates and optional telegram alerts

System Requirements

  • 64-bit MacOS, Windows, or Linux operating system
  • 2GB of free RAM (or more)
  • User account with admin/root privileges

Building from source

Pre-built release binaries are available for OSX, Linux or Windows.

If you want to build from source, the following prerequisites are required:

  • Rustup
  • Cmake version 3.12 or higher
  • OS specific build tools (e.g. build-essential on Linux, XCode on OSX or MSVC on Win)
  • (Optional) OSX: install openssl, e.g. brew install openssl.
  • (Optional) OSX: run LIBRARY_PATH=/usr/local/opt/openssl/lib
  • Additional Rust Components
    rustup install nightly-2021-05-17
    rustup default nightly-2021-05-17
    rustup component add rustfmt-preview
    

To build, run cargo build (or cargo build -vv to get verbose build output).

For more detailed instructions, please refer to the Installation Guide.

Configuration

Basic config is contained in two files, MM2.json and coins

The user configuration MM2.json file contains rpc credentials, your mnemonic seed phrase, a netid (7777 is the current main network) and some extra optional parameters.

For example:

{
  "gui": "core_readme",
  "netid": 7777,
  "rpc_password": "Ent3r_Un1Qu3_Pa$$w0rd",
  "passphrase": "ENTER_UNIQUE_SEED_PHRASE_DONT_USE_THIS_CHANGE_IT_OR_FUNDS_NOT_SAFU"
}

The coins file contains information about the coins and tokens you want to trade. A regularly updated version is maintained in the Komodo Platform coins repository. Pull Requests to add any coins not yet included are welcome.

Usage

To launch the AtomicDEX API, run ./mm2 (or mm2.exe in Windows)

To activate a coin:

curl --url "http://127.0.0.1:7783" --data '{
	"coin": "KMD",
	"method": "electrum",
	"servers": [
		{"url": "electrum1.cipig.net:10001"},
		{"url": "electrum2.cipig.net:10001"},
		{"url": "electrum3.cipig.net:10001"}
	],
	"required_confirmations":10,
	"requires_notarization":true,
	"mm2":1,
	"userpass": "$userpass"
}'

To view the orderbook for a pair:

curl --url "http://127.0.0.1:7783" --data '{
    "userpass":"$userpass",
    "method":"orderbook",
    "base":"KMD",
    "rel":"BTC"
}'

To place a buy order:

curl --url "http://127.0.0.1:7783" --data '{
  "userpass": "$userpass",
  "method": "buy",
  "base": "KMD",
  "rel": "DOGE",
  "volume": "10",
  "price": "4"
}'

Refer to the Komodo Developer Docs for details of additional RPC methods and parameters

Project structure

mm2src - Rust code, contains some parts ported from C as is (e.g. lp_ordermatch) to reach the most essential/error prone code. Some other modules/crates are reimplemented from scratch.

Additional docs for developers

Disclaimer

This repository contains the work in progress code of the brand new AtomicDEX API core (mm2) built mainly on Rust.
The current state can be considered as a alpha version.

WARNING: Use with test coins only or with assets which value does not exceed an amount you are willing to lose. This is alpha stage software!

Help and troubleshooting

If you have any question/want to report a bug/suggest an improvement feel free to open an issue or join the Komodo Platform Discord dev-marketmaker channel.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].