Skip to content
/ magicdice Public

A Python library and set of tools to play and analyze STEEM based magic dice game.

License

Notifications You must be signed in to change notification settings

emre/magicdice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

magicdice

magicdice is a Python library and set of tools to play and analyze STEEM based magic dice game.

Installation

Minimum Python requirement is Python3.6 and greater.

$ pip install magicdice

Bidding

Bid 0.100 STEEM for under number 50 with the client seed foo.

from magicdice.core import Magicdice
m = Magicdice(
    '<account>', '<active_key>')

resp = m.bid('under', '50', '0.100 STEEM', 'foo')
print(resp)

However, this doesn't guarentee that the bid is picked up by the game. If you want to ensure the bid is picked up you can pass ensure_pickup flag:

from magicdice.core import Magicdice

m = Magicdice(
    '<account>', '<active_key>')
resp = m.bid('under', '50', '0.100 STEEM', 'foo', ensure_pickup=True)
print(resp)

Which will include the roll (bid result) data.

magic-dice api client

from magicdice.api_client import ApiClient

api_client = ApiClient()

Global Properties

Returns the global properties of the game. (min/max prediction, max payout, house edge, etc.)

api_client.globals()

Bets

Return the last N bets:

api_client.bets('<username>', {"limit": N})

User info

api_client.user('<username>')

Rare wins

api_client.rare_wins({"limit": 10})

Top winners

api_client.top_winners({"limit": 10})

Verifying Bids

from magicdice.utils import verify


bid_block_id = 30710738
bid_tx_id = "1ddbb2ccd975c7339a22c284fd0a91781ec99094"
roll_block_id = 30710739
roll_tx_id = "7b143697e667fd2a706ab0f88cc1dd9b6f252241"
server_seed = "8cc9pxehpq3kuoi9j5qd"

if verify(
        bid_block_id,
        bid_tx_id,
        roll_block_id,
        roll_tx_id,
        server_seed,
    ):
    print("Roll is solid!")

A simple bot

from magicdice.core import Magicdice

m = Magicdice(
    '<account>', '<private_active_key>')

# Send 10 0.100 STEEM bids with under 50 prediction

for i in range(0, 10):
    resp = m.bid('under', '50', '0.100 STEEM', 'foo', ensure_pickup=True)
    roll = resp[2]
    status = "won" if roll["won"] else "lost"
    print(f"{status} {roll['amount']} {roll['asset']}")

Disclaimer

This library may contain unexpected bugs. Audit the code and use it at your own risk.

About

A Python library and set of tools to play and analyze STEEM based magic dice game.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages