An open-source crypto currency exchange.
http://peatio.com/
Peatio is a free and open-source crypto currency exchange implementation with the Rails framework and other cutting-edge technology.
Mission
Our mission is to build the world best open-source crypto currency exchange with a high performance trading engine and safety which can be trusted and enjoyed by users. Additionally we want to move the crypto currency exchange technology forward by providing support and add new features. We are helping people to build easy their own exchange around the world.
Help is greatly appreciated, feel free to submit pull-requests or open issues.
Things You Should Know
RUNNING AN EXCHANGE IS HARD.
Peatio makes it easier, but running an exchange is still harder than a blog, which you can download the source code and following the guide or even a cool installer and boom!!! a fancy site is there to profit. We always prioritize security and speed higher than 1-click setup. We split Peatio to many components (processes) so it's flexible to deploy and scalable.
SECURITY KNOWLEDGE IS A REQUIREMENT.
Peatio cannot protect your customers when you leave your admin password 1234567, or open sensitive ports to public internet. No one can. Running an exchange is a very risky task because you're dealing with money directly. If you don't known how to make your exchange secure, hire an expert.
You must know what you're doing, there's no shortcut. Please get prepared before continue:
- Rails knowledge
- Security knowledge
- System administration
Features
- Designed as high performance crypto currency exchange.
- Built-in high performance matching-engine.
- Built-in Proof of Solvency Audit.
- Built-in ticket system for customer support.
- Usability and scalibility.
- Websocket API and high frequency trading support.
- Support multiple digital currencies (eg. Bitcoin, Litecoin, Dogecoin etc.).
- Easy customization of payment processing for both fiat and digital currencies.
- SMS and Google Two-Factor authenticaton.
- KYC Verification.
- Powerful admin dashboard and management tools.
- Highly configurable and extendable.
- Industry standard security out of box.
- Active community behind.
- Free and open-source.
- Created and maintained by Peatio open-source group.
Known Exchanges using Peatio
- Yunbi Exchange - A crypto-currency exchange funded by BitFundPE
- One World Coin
- Bitspark - Bitcoin Exchange in Hong Kong
- MarsX.io - Australian Cryptocurrency Exchange
Mobile Apps
- Boilr - Cryptocurrency and bullion price alarms for Android
Requirements
- Linux / Mac OSX
- Ruby 2.1.0
- Rails 4.0+
- Git 1.7.10+
- Redis 2.0+
- MySQL
- RabbitMQ
** More details are in the doc.
Getting started
API
You can interact with Peatio through API:
Here're some API clients and/or wrappers:
- peatio-client-ruby is the official ruby client of both HTTP/Websocket API.
- peatio-client-python by JohnnyZhao is a python client written by JohnnyZhao.
- peatio-client-python by czheo is a python wrapper similar to peatio-client-ruby written by czheo.
- peatioJavaClient is a java client written by classic1999.
- yunbi-client-php is a php client written by panlilu.
Custom Style
Peatio front-end based Bootstrap 3.0 version and Sass, and you can custom exchange style for your mind.
- change bootstrap default variables in
vars/_bootstrap.css.scss
- change peatio custom default variables in
vars/_basic.css.scss
- add your custom variables in
vars/_custom.css.scss
- add your custom css style in
layouts/_custom.css.scss
- add or change features style in `features/_xyz.css.scss'
vars/_custom.css.scss
can overwrite vars/_basic.css.scss
defined variables layout/_custom.css.scss
can overwrite layout/_basic.css.scss
and layoputs/_header.css.scss
style
Getting Involved
Want to report a bug, request a feature, contribute or translate Peatio?
- Browse our issues, comment on proposals, report bugs.
- Clone the peatio repo, make some changes according to our development guidelines and issue a pull-request with your changes.
- Anything you want to tell us please send it to community@peatio.com
- If you need technical support or customization service, contact us: sales@peatio.com
Guide | API Docs | Consulting | Community
OpenDAX Trading Platform
Component part ofPeatio - Cryptocurrency Exchange Software
What is Peatio
Peatio is a free and open-source crypto-currency exchange implementation with the Rails framework. This is a fork of Peatio designed for micro-services architecture. We have simplified the code in order to use only Peatio API with external frontend and server components.
Peatio is the core accounting component and configuration for markets; it is part of OpenDAX system.
Getting Started
OpenDAX is a container distribution, the fastest way to install the full stack is using OpenDAX OpenDAX can be installed under 15 minutes on any Linux / Mac OS X environment with Docker.
# To install
git clone https://github.com/openware/opendax.git
# Follow the README instructions
# Configure config/app.yml
bundle install
bundle exec rake service:all
# Open your browser on www.app.local (please it in /etc/hosts)
To build your own exchange you should now run Peatio as a backend instead of forking the repository, and extend it using other microservices such as Barong.
System Overview
This is a service oriented architecture; the system is designed to be customized by creating Applogic which is your api code. Barong will dispatch the traffic on your api to extend the current system.
Mission
Our mission is to build an open-source crypto exchange software with a high performance trading engine and incomparable security. We are moving toward dev/ops best practices of running an enterprise grade exchange.
We provide webinar or on site training for installing, configuring and administration best practices of Peatio. Feel free to contact us for joining the next training session: Openware.com
Help is greatly appreciated, feel free to submit pull-requests or open issues.
Things You Should Know
RUNNING A CRYPTO CURRENCY EXCHANGE IS HARD.
This repository is not a turn key solution and will require engineering and design of security process by your company, with or without our assistance. This repository is one component among many we recommend using for composing an enterprise grade exchange. It is highly recommended to deploy a UAT environment and build automated tests for your needs, including Functional tests, Smoke tests and Security vulnerability scans. You may not need to have an active developer on Peatio source code, however, we recommend the following team setup: 1 dev/ops, 3 frontend developers (react / angular), 2 QA engineers, 1 Security Officer.
SECURITY KNOWLEDGE IS A REQUIREMENT.
Peatio cannot protect your customers if you leave your admin password 1234567, or open sensitive ports to public internet. No one can. Running an exchange is a very risky task because you're dealing with money directly. If you don't know how to make your exchange secure, hire an expert.
You must know what you're doing, there's no shortcut. Please get prepared before you continue:
- Rails knowledge
- Security knowledge
- Cloud and Linux administration
- Docker and Kubernetes administration
- Micro-services and OAuth 2.0
Features
- Designed as high performance crypto currency exchange
- Built-in high performance matching-engine
- Built-in multiple wallet support (e.g. deposit, hot, warm and cold)
- Built-in plugable coin API
- Build-in Management API - server-to-server API with high privileges
- Build-in RabbitMQ Event API
- Usability and scalability
- Websocket API and high frequency trading support
- Support multiple digital currencies (e.g. Bitcoin, Litecoin, Ethereum, Ripple etc.)
- Support ERC20 Tokens
- API endpoint for FIAT deposits or payment gateways.
- Powerful admin dashboard and management tools
- Highly configurable and extendable
- Industry standard security out of box
- Maintained by Openware.com
- KYC Verification provided by Barong
Contribute
Please see CONTRIBUTING.md for details on how to contribute issues, fixes, and patches to this project.
Getting Started
We advice to use minimalistic environment if you want to develop only Peatio and don't touch processes which interact with other components.
Otherwise we advice to use microkube based environment
Minimalistic local development environment with docker-compose:
Prerequisites
- Docker installed
- Docker compose installed
- Ruby 2.6.5
- Rails 5.2.3+
Installation
Local development install
- Set up initial configuration
./bin/setup
- Start peatio daemons
god -c lib/daemons/daemons.god
- Add this to your
/etc/hosts
:
127.0.0.1 www.app.local
127.0.0.1 peatio.app.local
127.0.0.1 barong.app.local
- Start rails server
JWT_PUBLIC_KEY=$(cat config/secrets/rsa-key.pub| base64 -w0) rails s -b 0.0.0.0
(base64 -b0
for macOS)
Local development environment with docker compose:
We suggest you to start using Peatio by installing OpenDAX. OpenDAX which is based on Docker containers is a convenient and straightforward way to start Peatio crypto exchange software development environment.
Prerequisites
- Docker installed
- Docker compose installed
Start OpenDAX ready to use
Follow OpenDAX documentation for the latest Peatio installation information.
Barong
Barong is an essential part of Openware crypto exchange software stack. It's providing the authentication service, it provides KyC and 2FA features out of the box.
Barong manages roles and kyc level across all applications from the OpenDAX stack. It can be easily extended using Rest Management API and Event API.
Barong key features
- KYC Verification for individuals
- SMS and Google two-factor authentication
- Transaction Signature support
- Implement JWT standard to authenticate users of every microservice of the OpenDAX stack
Start barong:
$> docker-compose run --rm barong bash -c "./bin/link_config && ./bin/setup"
$> docker-compose up -d barong
This will output password for admin@barong.io. Default password is Qwerty123
Peatio
Start peatio server
$> docker-compose run --rm peatio bash -c "bundle exec rake db:create db:migrate db:seed"
$> docker-compose up -d peatio
After all of that you can start using Peatio in your browser just by following one of the hosts which you added earlier.
API
You can interact with Peatio through API:
- Account, Market & Public API v2
- Management API v2
- Websocket API
- Event API (AMQP)
Getting Involved
We want to make it super-easy for Peatio users and contributors to talk to us and connect with each other, to share ideas, solve problems and help make Peatio awesome. Here are the main channels we're running currently, we'd love to hear from you on one of them:
Discourse
This is for all Peatio users. You can find guides, recipes, questions, and answers from Snowplow users including the Peatio.tech team. We welcome questions and contributions!
Telegram
Chat with us and other community members on Telegram.
GitHub
Peatio issues
If you spot a bug, then please raise an issue in our main GitHub project (Openware Peatio)[https://github.com/openware/peatio/]; likewise, if you have developed a new feature or an improvement in your Rubykube Peatio fork, then send us a pull request! If you want to brainstorm a potential new feature, then the Telegram group is the best place to start (see above).
If you want to talk directly to us (e.g. about a commercially sensitive issue), email is the easiest way.
Getting Support and Customization
If you need help with running/deploying/customizing Peatio, you can contact us on Openware.com.
Contact us by email: hello@openware.com
from https://github.com/openware/peatio
No comments:
Post a Comment