DEV Community

Cover image for New Release: viabtc v0.4.0
Kerem Bozdas
Kerem Bozdas

Posted on

New Release: viabtc v0.4.0

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

  1. Fork the repository
  2. Switch to develop branch (git checkout develop)
  3. Create your feature branch (git checkout -b my-new-feature)
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to the branch (git push origin my-new-feature)
  6. 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)