Interface (ABI)
Copied!
Function Signatures
bb235d67: INVALID_RESULT_INDEX()
d0821b0e: bet(uint8)
12ca9ed5: bettingEndBlock()
e04c1e63: bettingStartBlock()
f9b0b5b9: consensusThreshold()
fad56779: eventAddress()
bef4876b: finished()
871169b9: getBetBalances()
a3cb679d: getTotalBets()
9a0e7d66: getTotalVotes()
95d3382a: getVoteBalances()
ca381d2e: numOfResults()
7dc0d1d0: oracle()
8da5cb5b: owner()
0d4e8aed: resultIndex()
d16e637b: resultSettingEndBlock()
b6fadfb7: resultSettingStartBlock()
80ce60d1: setResult(uint8)
f2fde38b: transferOwnership(address)
54fd4d50: version()
Event Hashes
event OracleResultVoted(uint16 indexed _version, address indexed _oracleAddress, address indexed _participant, uint8 _resultIndex, uint256 _votedAmount)
999983c5b5c285890ab4b2b91f9a82d0ca95784c9b138bd37110ba06faa45f67
event OracleResultSet(uint16 indexed _version, address indexed _oracleAddress, uint8 _resultIndex)
766d7bf9e9e8671204cd1da1b1b107d50247d2d1c389c552765262ee3afefb9b
bet()
Places a bet on a result given the index. The QTUM is routed to the TopicEvent contract for storage.
- Launch QT Wallet
- Click on
Smart Contracttab, then click onSendTosub tab - Set the
Contract Addressand Interface (ABI) -
Set the
Functiontobet(d0821b0e)
-
Set the Result Index you would like to bet in
uint8 _resultIndexfield
-
Set the amount of QTUM to bet in the
Amountfield
-
Set the
Sender Addressas the address you want to bet from
-
Click
Send To Contractbutton -
You should see your new transaction posted. Save the transaction id if you want to verify the transaction succeeded.

-
Wait for the transaction to get mined
setResult()
The CentralizedOracle can set the result by first approving 100 BOT (the consensus threshold) to the TopicEvent address. The CentralizedOracle can call this method to set the result between the betting end block and the result setting end block.
- Launch QT Wallet
- approve()
10000000000Botoshi (100 BOT) which is the current consensus threshold for CentralizedOracles. The_spendershould be theTopicEventaddress. - Click on
Smart Contracttab, then click onSendTosub tab - Set the
Contract Addressand Interface (ABI) -
Set the
FunctiontosetResult(80ce60d1)
-
Set the Result Index you would like to set the result in
uint8 _resultIndexfield
-
Set the
Gas Limitto3000000(3 million) to make sure the transaction goes through. Any unspent gas will be returned to you.
-
Set the
Sender Addressas the CentralizedOracle address
-
Click
Send To Contractbutton -
You should see your new transaction posted. Save the transaction id if you want to verify the transaction succeeded.

-
Wait for your transaction to be mined
eventAddress()
Returns the Event address.
- Launch QT Wallet
- Click on
Smart Contracttab, then click onCallsub tab - Set the
Contract Addressand Interface (ABI) - Set the
FunctiontoeventAddress(fad56779) - Click
Call Contractbutton - Returns:
addressis the Event address
numOfResults()
Returns the number of Event results.
- Launch QT Wallet
- Click on
Smart Contracttab, then click onCallsub tab - Set the
Contract Addressand Interface (ABI) - Set the
FunctiontonumOfResults(ca381d2e) - Click
Call Contractbutton - Returns:
uint8is the number of Event results
consensusThreshold()
Returns the consensus threshold that needs to be reached in order for the Oracle to be valid.
- Launch QT Wallet
- Click on
Smart Contracttab, then click onCallsub tab - Set the
Contract Addressand Interface (ABI) - Set the
FunctiontoconsensusThreshold(f9b0b5b9) - Click
Call Contractbutton - Returns:
uint256is the consensus threshold
oracle()
Returns the address of the CentralizedOracle.
- Launch QT Wallet
- Click on
Smart Contracttab, then click onCallsub tab - Set the
Contract Addressand Interface (ABI) - Set the
Functiontooracle(7dc0d1d0) - Click
Call Contractbutton - Returns:
addressis the CentralizedOracle in hex
bettingStartBlock()
Returns the block when the betting period will start.
- Launch QT Wallet
- Click on
Smart Contracttab, then click onCallsub tab - Set the
Contract Addressand Interface (ABI) - Set the
FunctiontobettingStartBlock(e04c1e63) - Click
Call Contractbutton - Returns:
uint256is the bettingStartBlock
bettingEndBlock()
Returns the block when the betting period will end.
- Launch QT Wallet
- Click on
Smart Contracttab, then click onCallsub tab - Set the
Contract Addressand Interface (ABI) - Set the
FunctiontobettingEndBlock(12ca9ed5) - Click
Call Contractbutton - Returns:
uint256is the betting end block
resultSettingStartBlock()
Returns the block when the CentralizedOracle will be able to set the result.
- Launch QT Wallet
- Click on
Smart Contracttab, then click onCallsub tab - Set the
Contract Addressand Interface (ABI) - Set the
FunctiontoresultSettingStartBlock(b6fadfb7) - Click
Call Contractbutton - Returns:
uint256is the resultSettingStartBlock
resultSettingEndBlock()
Returns the block when the CentralizedOracle will no longer be able to set the result.
- Launch QT Wallet
- Click on
Smart Contracttab, then click onCallsub tab - Set the
Contract Addressand Interface (ABI) - Set the
FunctiontoresultSettingEndBlock(d16e637b) - Click
Call Contractbutton - Returns:
uint256is the result setting end block
getBetBalances()
Returns an array of QTUM bet balances placed by the sender. Shows 10 values and each index is the bet amount for that result index.
- Launch QT Wallet
- Click on
Smart Contracttab, then click onCallsub tab - Set the
Contract Addressand Interface (ABI) - Set the
FunctiontogetBetBalances(871169b9) - Set the
Sender Addressof the address to get the balances of - Click
Call Contractbutton - Returns:
uint256[10]is the array of QTUM bet balances shown in Satoshi
getVoteBalances()
Returns an array of BOT vote balances placed by the sender. Shows 10 values and each index is the vote amount for that result index.
- Launch QT Wallet
- Click on
Smart Contracttab, then click onCallsub tab - Set the
Contract Addressand Interface (ABI) - Set the
FunctiontogetVoteBalances(95d3382a) - Set the
Sender Addressof the address to get the balances of - Click
Call Contractbutton - Returns:
uint256[10]is the array of BOT vote balances shown in Botoshi
getTotalBets()
Returns an array of total QTUM bets placed by all participants. Shows 10 values and each index is the total bet amount for that result.
- Launch QT Wallet
- Click on
Smart Contracttab, then click onCallsub tab - Set the
Contract Addressand Interface (ABI) - Set the
FunctiontogetTotalBets(a3cb679d) - Click
Call Contractbutton - Returns:
uint256[10]is the array of total QTUM bets shown in Satoshi
getTotalVotes()
Returns an array of total BOT votes placed by all participants. Shows 10 values and each index is the total vote amount for that result.
- Launch QT Wallet
- Click on
Smart Contracttab, then click onCallsub tab - Set the
Contract Addressand Interface (ABI) - Set the
FunctiontogetTotalVotes(9a0e7d66) - Click
Call Contractbutton - Returns:
uint256[10]is the array of total BOT votes shown in Botoshi
resultIndex()
Returns the result index. If it returns 255, then the Centralized Oracle has not set the result yet.
- Launch QT Wallet
- Click on
Smart Contracttab, then click onCallsub tab - Set the
Contract Addressand Interface (ABI) - Set the
FunctiontoresultIndex(0d4e8aed) - Click
Call Contractbutton - Returns:
uint8is the result index
finished()
Returns true or false if the Oracle is finished. No more transactions are allowed after finished.
- Launch QT Wallet
- Click on
Smart Contracttab, then click onCallsub tab - Set the
Contract Addressand Interface (ABI) - Set the
Functiontofinished(bef4876b) - Click
Call Contractbutton - Returns:
boolshows true/false if the Oracle is finished