Last active
December 5, 2017 11:00
-
-
Save banteg/dcde551c6bf573ace9e72302c052987f to your computer and use it in GitHub Desktop.
interact with eos token sale contract from python
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from web3 import Web3, KeepAliveRPCProvider | |
web3 = Web3(KeepAliveRPCProvider(host='localhost', port='8545')) | |
address = '0xd0a6e6c54dbc68db5db3a091b171a77407ff7ccf' | |
abi = [{'constant': True, 'inputs': [{'name': '', 'type': 'uint256'}, {'name': '', 'type': 'address'}], 'name': 'claimed', 'outputs': [{'name': '', 'type': 'bool'}], 'payable': False, 'type': 'function'}, {'constant': False, 'inputs': [{'name': 'owner_', 'type': 'address'}], 'name': 'setOwner', 'outputs': [], 'payable': False, 'type': 'function'}, {'constant': True, 'inputs': [], 'name': 'time', 'outputs': [{'name': '', 'type': 'uint256'}], 'payable': False, 'type': 'function'}, {'constant': True, 'inputs': [], 'name': 'totalSupply', 'outputs': [{'name': '', 'type': 'uint128'}], 'payable': False, 'type': 'function'}, {'constant': True, 'inputs': [], 'name': 'foundersAllocation', 'outputs': [{'name': '', 'type': 'uint128'}], 'payable': False, 'type': 'function'}, {'constant': False, 'inputs': [{'name': 'day', 'type': 'uint256'}], 'name': 'claim', 'outputs': [], 'payable': False, 'type': 'function'}, {'constant': True, 'inputs': [], 'name': 'foundersKey', 'outputs': [{'name': '', 'type': 'string'}], 'payable': False, 'type': 'function'}, {'constant': True, 'inputs': [{'name': '', 'type': 'uint256'}, {'name': '', 'type': 'address'}], 'name': 'userBuys', 'outputs': [{'name': '', 'type': 'uint256'}], 'payable': False, 'type': 'function'}, {'constant': True, 'inputs': [{'name': 'day', 'type': 'uint256'}], 'name': 'createOnDay', 'outputs': [{'name': '', 'type': 'uint256'}], 'payable': False, 'type': 'function'}, {'constant': False, 'inputs': [], 'name': 'freeze', 'outputs': [], 'payable': False, 'type': 'function'}, {'constant': True, 'inputs': [{'name': '', 'type': 'address'}], 'name': 'keys', 'outputs': [{'name': '', 'type': 'string'}], 'payable': False, 'type': 'function'}, {'constant': True, 'inputs': [], 'name': 'startTime', 'outputs': [{'name': '', 'type': 'uint256'}], 'payable': False, 'type': 'function'}, {'constant': False, 'inputs': [{'name': 'authority_', 'type': 'address'}], 'name': 'setAuthority', 'outputs': [], 'payable': False, 'type': 'function'}, {'constant': True, 'inputs': [{'name': '', 'type': 'uint256'}], 'name': 'dailyTotals', 'outputs': [{'name': '', 'type': 'uint256'}], 'payable': False, 'type': 'function'}, {'constant': True, 'inputs': [], 'name': 'owner', 'outputs': [{'name': '', 'type': 'address'}], 'payable': False, 'type': 'function'}, {'constant': False, 'inputs': [], 'name': 'buy', 'outputs': [], 'payable': True, 'type': 'function'}, {'constant': True, 'inputs': [], 'name': 'openTime', 'outputs': [{'name': '', 'type': 'uint256'}], 'payable': False, 'type': 'function'}, {'constant': True, 'inputs': [], 'name': 'EOS', 'outputs': [{'name': '', 'type': 'address'}], 'payable': False, 'type': 'function'}, {'constant': True, 'inputs': [], 'name': 'today', 'outputs': [{'name': '', 'type': 'uint256'}], 'payable': False, 'type': 'function'}, {'constant': True, 'inputs': [], 'name': 'authority', 'outputs': [{'name': '', 'type': 'address'}], 'payable': False, 'type': 'function'}, {'constant': False, 'inputs': [{'name': 'eos', 'type': 'address'}], 'name': 'initialize', 'outputs': [], 'payable': False, 'type': 'function'}, {'constant': True, 'inputs': [], 'name': 'createFirstDay', 'outputs': [{'name': '', 'type': 'uint256'}], 'payable': False, 'type': 'function'}, {'constant': False, 'inputs': [], 'name': 'claimAll', 'outputs': [], 'payable': False, 'type': 'function'}, {'constant': True, 'inputs': [{'name': 'timestamp', 'type': 'uint256'}], 'name': 'dayFor', 'outputs': [{'name': '', 'type': 'uint256'}], 'payable': False, 'type': 'function'}, {'constant': False, 'inputs': [{'name': 'day', 'type': 'uint256'}, {'name': 'limit', 'type': 'uint256'}], 'name': 'buyWithLimit', 'outputs': [], 'payable': True, 'type': 'function'}, {'constant': False, 'inputs': [], 'name': 'collect', 'outputs': [], 'payable': False, 'type': 'function'}, {'constant': True, 'inputs': [], 'name': 'numberOfDays', 'outputs': [{'name': '', 'type': 'uint256'}], 'payable': False, 'type': 'function'}, {'constant': False, 'inputs': [{'name': 'key', 'type': 'string'}], 'name': 'register', 'outputs': [], 'payable': False, 'type': 'function'}, {'constant': True, 'inputs': [], 'name': 'createPerDay', 'outputs': [{'name': '', 'type': 'uint256'}], 'payable': False, 'type': 'function'}, {'inputs': [{'name': '_numberOfDays', 'type': 'uint256'}, {'name': '_totalSupply', 'type': 'uint128'}, {'name': '_openTime', 'type': 'uint256'}, {'name': '_startTime', 'type': 'uint256'}, {'name': '_foundersAllocation', 'type': 'uint128'}, {'name': '_foundersKey', 'type': 'string'}], 'payable': False, 'type': 'constructor'}, {'payable': True, 'type': 'fallback'}, {'anonymous': False, 'inputs': [{'indexed': False, 'name': 'window', 'type': 'uint256'}, {'indexed': False, 'name': 'user', 'type': 'address'}, {'indexed': False, 'name': 'amount', 'type': 'uint256'}], 'name': 'LogBuy', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'name': 'window', 'type': 'uint256'}, {'indexed': False, 'name': 'user', 'type': 'address'}, {'indexed': False, 'name': 'amount', 'type': 'uint256'}], 'name': 'LogClaim', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'name': 'user', 'type': 'address'}, {'indexed': False, 'name': 'key', 'type': 'string'}], 'name': 'LogRegister', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'name': 'amount', 'type': 'uint256'}], 'name': 'LogCollect', 'type': 'event'}, {'anonymous': False, 'inputs': [], 'name': 'LogFreeze', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'name': 'authority', 'type': 'address'}], 'name': 'LogSetAuthority', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'name': 'owner', 'type': 'address'}], 'name': 'LogSetOwner', 'type': 'event'}] | |
contract = web3.eth.contract(abi, address) | |
eos = contract.call() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
for example, to get daily totals
to get token price in ether