- Install Homebrew
- Install Ruby
- Install MySQL
- Install Redis
- Install RabbitMQ
- Install Bitcoind
- Install PhantomJS
- Install ImageMagick
- Configure Peatio
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
brew install rbenv ruby-build
Add rbenv to bash so that it loads every time you open a terminal
echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
source ~/.bash_profile
Install Ruby and set it as the default version
rbenv install -v 2.2.7
rbenv global 2.2.7
ruby -v
Install bundler
echo "gem: --no-ri --no-rdoc" > ~/.gemrc
gem install bundler
rbenv rehash
brew install mysql
and then start it with
mysql.server start
brew install redis
and then start it with
redis-server /usr/local/etc/redis.conf
brew install rabbitmq
and then start it with
rabbitmq-server
Download and Install Bitcoin Core
mkdir -p ~/Library/Application\ Support/Bitcoin
touch ~/Library/Application\ Support/Bitcoin/bitcoin.conf
vim ~/Library/Application\ Support/Bitcoin/bitcoin.conf
Insert the following lines into the bitcoin.conf, and replce with your username and password.
server=1
daemon=1
# If run on the test network instead of the real bitcoin network
testnet=1
# You must set rpcuser and rpcpassword to secure the JSON-RPC api
# Please make rpcpassword to something secure, `5gKAgrJv8CQr2CGUhjVbBFLSj29HnE6YGXvfykHJzS3k` for example.
# Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332)
rpcuser=INVENT_A_UNIQUE_USERNAME
rpcpassword=INVENT_A_UNIQUE_PASSWORD
rpcport=18332
# Notify when receiving coins
walletnotify=/usr/local/sbin/rabbitmqadmin publish routing_key=peatio.deposit.coin payload='{"txid":"%s", "channel_key":"satoshi"}'
and then start Bitcoind with
open /Applications/Bitcoin-Qt.app
Peatio uses Capybara with PhantomJS to do the feature tests, so if you want to run the tests. Install the PhantomJS is neccessary.
brew install phantomjs
brew install imagemagick
Clone the project
mkdir -p ~/peatio
cd peatio
git clone https://algobasket@bitbucket.org/AlgoBasketTeam2018/peatio2.0.git .
bundle install
Prepare configure files
bin/init_config
Setup Pusher
- Peatio depends on Pusher. A development key/secret pair for development/test is provided in
config/application.yml
(uncomment to use). PLEASE USE IT IN DEVELOPMENT/TEST ENVIRONMENT ONLY!
More details to visit pusher official website
# uncomment Pusher related settings
vim config/application.yml
Setup bitcoind rpc endpoint
# replace username:password and port with the one you set in
# username and password should only contain letters and numbers, do not use email as username
# bitcoin.conf in previous step
vim config/currencies.yml
Config database settings
vim config/database.yml
# Initialize the database and load the seed data
bundle exec rake db:setup
Run Daemons
# start all daemons
bundle exec rake daemons:start
# or start daemon one by one
bundle exec rake daemon:matching:start
...
# Daemon trade_executor can be run concurrently, e.g. below
# line will start four trade executors, each with its own logfile.
# Default to 1.
TRADE_EXECUTOR=4 rake daemon:trade_executor:start
# You can do the same when you start all daemons:
TRADE_EXECUTOR=4 rake daemons:start
When daemons don't work, check log/#{daemon name}.rb.output
or log/peatio:amqp:#{daemon name}.output
for more information (suffix is '.output', not '.log').
Run Peatio
# start server
bundle exec rails server
Visit http://localhost:3000
# user: admin@peatio.info
# pass: Pass@word8