示例#1
0
文件: test_market.py 项目: svitx/beem
 def test_ticker(self):
     bts = self.bts
     m = Market(u'STEEM:SBD', steem_instance=bts)
     ticker = m.ticker()
     self.assertEqual(len(ticker), 6)
     self.assertEqual(ticker['steem_volume']["symbol"], u'STEEM')
     self.assertEqual(ticker['sbd_volume']["symbol"], u'SBD')
示例#2
0
 def test_recenttrades(self):
     bts = self.bts
     m = Market(u'HIVE:HBD', steem_instance=bts)
     recenttrades = m.recent_trades(limit=10)
     recenttrades_raw = m.recent_trades(limit=10, raw_data=True)
     self.assertEqual(len(recenttrades), 10)
     self.assertEqual(len(recenttrades_raw), 10)
示例#3
0
    def test_sell(self):
        bts = self.bts
        bts.txbuffer.clear()
        m = Market(u'HIVE:HBD', steem_instance=bts)
        tx = m.sell(5, 0.1, account="test")
        self.assertEqual(
            (tx["operations"][0][0]),
            "limit_order_create"
        )
        op = tx["operations"][0][1]
        self.assertIn("test", op["owner"])
        self.assertEqual(str(Amount('0.500 HBD', steem_instance=bts)), op["min_to_receive"])
        self.assertEqual(str(Amount('0.100 HIVE', steem_instance=bts)), op["amount_to_sell"])

        p = Price(5, u"HBD:HIVE")
        tx = m.sell(p, 0.1, account="test")
        op = tx["operations"][0][1]
        self.assertEqual(str(Amount('0.500 HBD', steem_instance=bts)), op["min_to_receive"])
        self.assertEqual(str(Amount('0.100 HIVE', steem_instance=bts)), op["amount_to_sell"])

        p = Price(5, u"HBD:HIVE", steem_instance=bts)
        a = Amount(0.1, "HIVE", steem_instance=bts)
        tx = m.sell(p, a, account="test")
        op = tx["operations"][0][1]
        self.assertEqual(str(Amount('0.500 HBD', steem_instance=bts)), op["min_to_receive"])
        self.assertEqual(str(Amount('0.100 HIVE', steem_instance=bts)), op["amount_to_sell"])
示例#4
0
文件: test_market.py 项目: svitx/beem
    def test_buy(self):
        bts = self.bts
        m = Market(u'STEEM:SBD', steem_instance=bts)
        bts.txbuffer.clear()
        tx = m.buy(5, 0.1, account="test")
        self.assertEqual((tx["operations"][0][0]), "limit_order_create")
        op = tx["operations"][0][1]
        self.assertIn("test", op["owner"])
        self.assertEqual(str(Amount('0.100 STEEM', steem_instance=bts)),
                         op["min_to_receive"])
        self.assertEqual(str(Amount('0.500 SBD', steem_instance=bts)),
                         op["amount_to_sell"])

        p = Price(5, u"SBD:STEEM", steem_instance=bts)
        tx = m.buy(p, 0.1, account="test")
        op = tx["operations"][0][1]
        self.assertEqual(str(Amount('0.100 STEEM', steem_instance=bts)),
                         op["min_to_receive"])
        self.assertEqual(str(Amount('0.500 SBD', steem_instance=bts)),
                         op["amount_to_sell"])

        p = Price(5, u"SBD:STEEM", steem_instance=bts)
        a = Amount(0.1, "STEEM", steem_instance=bts)
        tx = m.buy(p, a, account="test")
        op = tx["operations"][0][1]
        self.assertEqual(str(a), op["min_to_receive"])
        self.assertEqual(str(Amount('0.500 SBD', steem_instance=bts)),
                         op["amount_to_sell"])
示例#5
0
    def test_sell(self, node_param):
        if node_param == "non_appbase":
            bts = self.bts
        else:
            bts = self.appbase
        bts.txbuffer.clear()
        m = Market(u'STEEM:SBD', steem_instance=bts)
        tx = m.sell(5, 0.1, account="test")
        self.assertEqual((tx["operations"][0][0]), "limit_order_create")
        op = tx["operations"][0][1]
        self.assertIn("test", op["owner"])
        self.assertEqual(str(Amount('0.500 SBD', steem_instance=bts)),
                         op["min_to_receive"])
        self.assertEqual(str(Amount('0.100 STEEM', steem_instance=bts)),
                         op["amount_to_sell"])

        p = Price(5, u"SBD:STEEM")
        tx = m.sell(p, 0.1, account="test")
        op = tx["operations"][0][1]
        self.assertEqual(str(Amount('0.500 SBD', steem_instance=bts)),
                         op["min_to_receive"])
        self.assertEqual(str(Amount('0.100 STEEM', steem_instance=bts)),
                         op["amount_to_sell"])

        p = Price(5, u"SBD:STEEM", steem_instance=bts)
        a = Amount(0.1, "STEEM", steem_instance=bts)
        tx = m.sell(p, a, account="test")
        op = tx["operations"][0][1]
        self.assertEqual(str(Amount('0.500 SBD', steem_instance=bts)),
                         op["min_to_receive"])
        self.assertEqual(str(Amount('0.100 STEEM', steem_instance=bts)),
                         op["amount_to_sell"])
示例#6
0
 def test_accountopenorders(self, node_param):
     if node_param == "non_appbase":
         bts = self.bts
     else:
         bts = self.appbase
     m = Market(u'STEEM:SBD', steem_instance=bts)
     openOrder = m.accountopenorders("test")
     self.assertTrue(isinstance(openOrder, list))
示例#7
0
 def test_orderbook(self):
     bts = self.bts
     m = Market(u'HIVE:HBD', steem_instance=bts)
     orderbook = m.orderbook(limit=10)
     self.assertEqual(len(orderbook['asks_date']), 10)
     self.assertEqual(len(orderbook['asks']), 10)
     self.assertEqual(len(orderbook['bids_date']), 10)
     self.assertEqual(len(orderbook['bids']), 10)
示例#8
0
文件: test_market.py 项目: svitx/beem
 def test_cancel(self):
     bts = self.bts
     bts.txbuffer.clear()
     m = Market(u'STEEM:SBD', steem_instance=bts)
     tx = m.cancel(5, account="test")
     self.assertEqual((tx["operations"][0][0]), "limit_order_cancel")
     op = tx["operations"][0][1]
     self.assertIn("test", op["owner"])
示例#9
0
 def test_market_history(self, node_param):
     if node_param == "non_appbase":
         bts = self.bts
     else:
         bts = self.appbase
     m = Market(u'STEEM:SBD', steem_instance=bts)
     buckets = m.market_history_buckets()
     history = m.market_history(buckets[2])
     self.assertTrue(len(history) > 0)
示例#10
0
 def test_trades(self):
     bts = self.bts
     m = Market(u'HIVE:HBD', steem_instance=bts)
     trades = m.trades(limit=10)
     trades_raw = m.trades(limit=10, raw_data=True)
     trades_history = m.trade_history(limit=10)
     self.assertEqual(len(trades), 10)
     self.assertTrue(len(trades_history) > 0)
     self.assertEqual(len(trades_raw), 10)
示例#11
0
 def test_volume(self, node_param):
     if node_param == "non_appbase":
         bts = self.bts
     else:
         bts = self.appbase
     m = Market(u'STEEM:SBD', steem_instance=bts)
     volume = m.volume24h()
     self.assertEqual(volume['STEEM']["symbol"], u'STEEM')
     self.assertEqual(volume['SBD']["symbol"], u'SBD')
示例#12
0
 def test_recenttrades(self, node_param):
     if node_param == "non_appbase":
         bts = self.bts
     else:
         bts = self.appbase
     m = Market(u'STEEM:SBD', steem_instance=bts)
     recenttrades = m.recent_trades(limit=10)
     recenttrades_raw = m.recent_trades(limit=10, raw_data=True)
     self.assertEqual(len(recenttrades), 10)
     self.assertEqual(len(recenttrades_raw), 10)
示例#13
0
 def test_ticker(self, node_param):
     if node_param == "non_appbase":
         bts = self.bts
     else:
         bts = self.appbase
     m = Market(u'STEEM:SBD', steem_instance=bts)
     ticker = m.ticker()
     self.assertEqual(len(ticker), 6)
     self.assertEqual(ticker['steem_volume']["symbol"], u'STEEM')
     self.assertEqual(ticker['sbd_volume']["symbol"], u'SBD')
示例#14
0
 def test_orderbook(self, node_param):
     if node_param == "non_appbase":
         bts = self.bts
     else:
         bts = self.appbase
     m = Market(u'STEEM:SBD', steem_instance=bts)
     orderbook = m.orderbook(limit=10)
     self.assertEqual(len(orderbook['asks_date']), 10)
     self.assertEqual(len(orderbook['asks']), 10)
     self.assertEqual(len(orderbook['bids_date']), 10)
     self.assertEqual(len(orderbook['bids']), 10)
示例#15
0
 def test_cancel(self, node_param):
     if node_param == "non_appbase":
         bts = self.bts
     else:
         bts = self.appbase
     bts.txbuffer.clear()
     m = Market(u'STEEM:SBD', steem_instance=bts)
     tx = m.cancel(5, account="test")
     self.assertEqual((tx["operations"][0][0]), "limit_order_cancel")
     op = tx["operations"][0][1]
     self.assertIn("test", op["owner"])
示例#16
0
 def test_ticker(self):
     bts = self.bts
     m = Market(u'HIVE:HBD', steem_instance=bts)
     ticker = m.ticker()
     self.assertEqual(len(ticker), 6)
     if "hive_volume" in ticker:
         self.assertEqual(ticker['hive_volume']["symbol"], u'HIVE')
         self.assertEqual(ticker['hbd_volume']["symbol"], u'HBD')
     else:
         self.assertEqual(ticker['steem_volume']["symbol"], u'HIVE')
         self.assertEqual(ticker['sbd_volume']["symbol"], u'HBD')
示例#17
0
 def test_trades(self, node_param):
     if node_param == "non_appbase":
         bts = self.bts
     else:
         bts = self.appbase
     m = Market(u'STEEM:SBD', steem_instance=bts)
     trades = m.trades(limit=10)
     trades_raw = m.trades(limit=10, raw_data=True)
     trades_history = m.trade_history(limit=10)
     self.assertEqual(len(trades), 10)
     self.assertTrue(len(trades_history) > 0)
     self.assertEqual(len(trades_raw), 10)
示例#18
0
 def test_market(self, node_param):
     if node_param == "instance":
         stm = Steem(node="abc", autoconnect=False, num_retries=1)
         set_shared_steem_instance(self.bts)
         o = Market()
         self.assertIn(o.steem.rpc.url, self.urls)
         with self.assertRaises(NumRetriesReached):
             Market(steem_instance=stm)
     else:
         set_shared_steem_instance(
             Steem(node="abc", autoconnect=False, num_retries=1))
         stm = self.bts
         o = Market(steem_instance=stm)
         self.assertIn(o.steem.rpc.url, self.urls)
         with self.assertRaises(NumRetriesReached):
             Market()
示例#19
0
 def test_market(self, node_param):
     if node_param == "instance":
         set_shared_steem_instance(self.bts)
         o = Market()
         self.assertIn(o.steem.rpc.url, self.urls)
         with self.assertRaises(RPCConnection):
             Market(steem_instance=Steem(
                 node="https://abc.d", autoconnect=False, num_retries=1))
     else:
         set_shared_steem_instance(
             Steem(node="https://abc.d", autoconnect=False, num_retries=1))
         stm = self.bts
         o = Market(steem_instance=stm)
         self.assertIn(o.steem.rpc.url, self.urls)
         with self.assertRaises(RPCConnection):
             Market()
示例#20
0
 def test_steem_usb_impied(self):
     bts = self.bts
     m = Market(u'HIVE:HBD', steem_instance=bts)
     steem_usd = m.steem_usd_implied()
     self.assertGreater(steem_usd, 0)
示例#21
0
from beem import Steem
from beem import Hive
from beem.instance import shared_blockchain_instance
from beem.market import Market
from django import template

register = template.Library()
shared_blockchain_instance()
m = Market()


@register.simple_tag
def usd_price():
    value = m.hive_usd_implied()
    value = float('{0:.2f}'.format(value))
    return value
示例#22
0
from beem.market import Market


market = Market()

hive_usd = market.hive_usd_implied()
hive_btc = 1/market.hive_btc_ticker()
hive_HBD = market.ticker()['latest']

print(hive_usd)
print(hive_btc)

print(hive_HBD)

print(market.ticker())

示例#23
0
 def test_market(self):
     o = Market()
     self.assertEqual(o.steem.rpc.url, self.url)
示例#24
0
 def test_accountopenorders(self):
     bts = self.bts
     m = Market(u'HIVE:HBD', steem_instance=bts)
     openOrder = m.accountopenorders("test")
     self.assertTrue(isinstance(openOrder, list))
示例#25
0
文件: test.py 项目: steemtm/payoutbot
    return result


# USE ONLY IF YOU WANT TO PULL KEYS FROM KEYS.TXT (MUST BE IN THE SAME DIRECTORY AS THIS PYTHON FILE!)
def get_keys():
    with open('keys.txt', 'r') as f:
        keys = f.read().split()
    return keys


##########################################################
# Initialize STEEM blockchain connections and variables. #
##########################################################
# s = Steem(keys=['<PRIVATE_POSTING_KEY>', '<PRIVATE_ACTIVE_KEY>'])
s = Steem(keys=get_keys())
m = Market()
spmv = s.get_steem_per_mvest()
steem_per_sbd = str(m.ticker()['latest']).split()[0]
d = datetime.now().replace(hour=0, minute=0, second=0, microsecond=0)
# td = d - timedelta(days=1) FOR TESTING PURPOSES
users = {}
chart = ''

# Check all @hybridbot transfers and if criteria is met, create a user and update the steem and sbd payout for user.
for h in Account('hybridbot').history(start=d, only_ops=['transfer']):
    if h['to'] != 'hybridbot' and '#' in h['memo']:
        if h['to'] not in users:
            users[h['to']] = User(username=h['to'])
        users[h['to']].update_username(h['to'])
        if 'STEEM' in h['amount']:
            steem = h['amount'].split()
示例#26
0
 def test_market_history(self):
     bts = self.bts
     m = Market(u'HIVE:HBD', steem_instance=bts)
     buckets = m.market_history_buckets()
     history = m.market_history(buckets[2])
     self.assertTrue(len(history) > 0)
示例#27
0
文件: test_market.py 项目: svitx/beem
    def test_market(self):
        bts = self.bts
        m1 = Market(u'STEEM', u'SBD', steem_instance=bts)
        self.assertEqual(m1.get_string(), u'SBD:STEEM')
        m2 = Market(steem_instance=bts)
        self.assertEqual(m2.get_string(), u'SBD:STEEM')
        m3 = Market(u'STEEM:SBD', steem_instance=bts)
        self.assertEqual(m3.get_string(), u'STEEM:SBD')
        self.assertTrue(m1 == m2)

        base = Asset("SBD", steem_instance=bts)
        quote = Asset("STEEM", steem_instance=bts)
        m = Market(base, quote, steem_instance=bts)
        self.assertEqual(m.get_string(), u'STEEM:SBD')
示例#28
0
文件: test_market.py 项目: svitx/beem
 def test_volume(self):
     bts = self.bts
     m = Market(u'STEEM:SBD', steem_instance=bts)
     volume = m.volume24h()
     self.assertEqual(volume['STEEM']["symbol"], u'STEEM')
     self.assertEqual(volume['SBD']["symbol"], u'SBD')
示例#29
0
    def test_market(self):
        bts = self.bts
        m1 = Market(u'HIVE', u'HBD', steem_instance=bts)
        self.assertEqual(m1.get_string(), u'HBD:HIVE')
        m2 = Market(steem_instance=bts)
        self.assertEqual(m2.get_string(), u'HBD:HIVE')
        m3 = Market(u'HIVE:HBD', steem_instance=bts)
        self.assertEqual(m3.get_string(), u'HIVE:HBD')
        self.assertTrue(m1 == m2)

        base = Asset("HBD", steem_instance=bts)
        quote = Asset("HIVE", steem_instance=bts)
        m = Market(base, quote, steem_instance=bts)
        self.assertEqual(m.get_string(), u'HIVE:HBD')
示例#30
0
 def test_volume(self):
     bts = self.bts
     m = Market(u'HIVE:HBD', steem_instance=bts)
     volume = m.volume24h()
     self.assertEqual(volume['HIVE']["symbol"], u'HIVE')
     self.assertEqual(volume['HBD']["symbol"], u'HBD')