ViaBTC 📈
An HTTP client to interface with the open-source ViaBTC Exchange Server.
Interested in creating a cryptocurrency exchange? This gem can help you.
Installation
Add viabtc
to your Gemfile and run bundle
OR install it yourself with gem install viabtc
.
Configuration
If using Rails, create a file named viabtc.rb
under config/initializers
and add the following block of code.
ViaBTC.configure do |config|
config.http_base_url = 'http://localhost:18080'
end
If not, add it anywhere in your code that runs before a new client is initialized. Read more at: 📖Configuration Wiki
Usage
Create a new instance:
viabtc_http_client = ViaBTC::HTTP::Client.new
Make an API request:
viabtc_http_client.market_status(market: 'ETHBTC')
#=> {"error"=>nil, "result"=>{"low"=>"0", "period"=>86400, "last"=>"0", "high"=>"0", "open"=>"0", "volume"=>"0", "close"=>"0", "deal"=>"0"}, "id"=>0}
Support
Ruby Versions Tested Against
- ✅
2.6.1
(stable) - ✅
2.5.3
(stable) - ✅
2.4.5
(stable) - ⏳
2.3.8
(security maintenance phase)
ViaBTC Exchange Server API Support
API Method | Corresponding Methods |
---|---|
balance.query |
#balance |
balance.update |
#withdraw #deposit
|
balance.history |
#balance_history |
asset.list |
#asset_list |
asset.summary |
#asset_summary |
order.put_limit |
#limit_sell #limit_buy
|
order.put_market |
#market_sell #market_buy
|
order.cancel |
#cancel_order |
order.deals |
#order_deals |
order.book |
#sell_orders #buy_orders
|
order.depth |
#order_depth |
order.pending |
#pending_orders |
order.pending_detail |
#pending_order_details |
order.finished |
#finished_orders #finished_sell_orders #finished_buy_orders
|
order.finished_detail |
#finished_order_detail |
market.last |
#market_last |
market.deals |
#market_deals |
market.user_deals |
#user_executed_orders |
market.kline |
#market_kline |
market.status |
#market_status |
market.status_today |
#market_status_today |
market.list |
#market_list |
market.summary |
#market_summary |
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to RubyGems.
Contributing
- Fork the repository
- Switch to develop branch (
git checkout develop
) - Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
Donations ❤️
You can donate me at Librepay. Thanks! ☕️
Is it any good?
Yes.
Since you made it this far.. 🤓
Don't forget to ⭐️ my repository if you like it!
Bug reports and pull requests are welcome! ♥️
Happy Hacking,
Kerem
Photo Courtesy of Chris Liverani
Top comments (0)