Pages:
Author

Topic: [ANN][ICO] Etheraffle - World's First Truly Decentralized Charitable Lottery! (Read 1002 times)

jr. member
Activity: 182
Merit: 1
Dev:

Came across this article regarding Solidity.  https://medium.com/@Hibryda/why-solidity-isnt-solid-3341af77fc1c

This is not about etheraffle, but about Ethereum's Solidity.  Was wondering about this statement from the whitepaper "Provably Fair – Everything occurs in the public domain."  I know this is not my first encounter of "provably."  There are other projects with such a claim.  But with etheraffle having completed so much work, I thought you maybe in a better position to answer this question.  Have you carried out proving the fairness of etheraffle?  Is the "provability" based on analysis of theorem prover or based on the fact that all the transactions are recorded on the blockchain?

I know this question may go beyond the scope of this project, but it may be directly related due to the fact this project is based on Ethereum.

Thanks for your time and info.



Hi Sjyi!

With regards to provability, ours comes from the fact that the entire of the raffle functionality takes place on chain. This, in addition to the transactions also being etched in to the chain where our fairness comes from. Not only can you see how our random numbers are generated (by lightning no less!) but also how they are stored, how a users numbers are compared to the winning numbers, and how in the event of a win the prizes are calculated using the actual odds which are baked into the smart-contract. You can literally read the code that's running on chain and see what it's doing. We are hiding nothing.

Better still, because of the recursion in the smart-contract, you can see that none of the above requires any any human involvement at all. All the other blockchain lotteries out there obfuscate these processes, and or require a person (and so a centralized, single source of failure) to make happen. We do not. It's all laid out there, in the contract, for anyone to go and look at.


Thanks for your explanation.  The fairness of Etheraffle can be "proved" by recordings of all operational aspects through the public ledger.  And also due to "no touch" flow fairness can be maintained.

I know setting up the development/test environment could take an effort, but if you're willing to take on remote test, I'm willing.  I'm starting to work with truffle.


Very interesting! How familiar are you with Solidity development?

As it happens, we don't use the Truffle/Ganache frameworks due to the large overhead. The current contract re-write that the update hinted at earlier is now in a far more functional programming style (which strictness lends itself to blockchain security). And so because much of the contract has now been converted to "pure" or "view" functions they are much simpler to unit test directly in Solidity itself (or in Go when automating). Those functions remaining that do have side affects (mainly pertaining to Oraclize) are also simpler to unit test directly in Oraclize's forked Remix compiler.


Good to know that truffle/ganache frameworks come with a large overhead.  I have extensive system design/develop/testing/implement experiences but am new to Solidity.  As I have brought up many developers progressively regardless of their self proclaimed ability/knowledge, I also apply that to myself.  Assign a simple task and progressively assign more demanding tasks with each successful assignment completion.

As I witnessed this project to be well planned and backed by "provably" capable development team, I would be honored to be associated with the project.
copper member
Activity: 80
Merit: 0
Join the Etheraffle ICO Today!
Dev:

Came across this article regarding Solidity.  https://medium.com/@Hibryda/why-solidity-isnt-solid-3341af77fc1c

This is not about etheraffle, but about Ethereum's Solidity.  Was wondering about this statement from the whitepaper "Provably Fair – Everything occurs in the public domain."  I know this is not my first encounter of "provably."  There are other projects with such a claim.  But with etheraffle having completed so much work, I thought you maybe in a better position to answer this question.  Have you carried out proving the fairness of etheraffle?  Is the "provability" based on analysis of theorem prover or based on the fact that all the transactions are recorded on the blockchain?

I know this question may go beyond the scope of this project, but it may be directly related due to the fact this project is based on Ethereum.

Thanks for your time and info.



Hi Sjyi!

With regards to provability, ours comes from the fact that the entire of the raffle functionality takes place on chain. This, in addition to the transactions also being etched in to the chain where our fairness comes from. Not only can you see how our random numbers are generated (by lightning no less!) but also how they are stored, how a users numbers are compared to the winning numbers, and how in the event of a win the prizes are calculated using the actual odds which are baked into the smart-contract. You can literally read the code that's running on chain and see what it's doing. We are hiding nothing.

Better still, because of the recursion in the smart-contract, you can see that none of the above requires any any human involvement at all. All the other blockchain lotteries out there obfuscate these processes, and or require a person (and so a centralized, single source of failure) to make happen. We do not. It's all laid out there, in the contract, for anyone to go and look at.


I know setting up the development/test environment could take an effort, but if you're willing to take on remote test, I'm willing.  I'm starting to work with truffle.


Very interesting! How familiar are you with Solidity development?

As it happens, we don't use the Truffle/Ganache frameworks due to the large overhead. The current contract re-write that the update hinted at earlier is now in a far more functional programming style (which strictness lends itself to blockchain security). And so because much of the contract has now been converted to "pure" or "view" functions they are much simpler to unit test directly in Solidity itself (or in Go when automating). Those functions remaining that do have side affects (mainly pertaining to Oraclize) are also simpler to unit test directly in Oraclize's forked Remix compiler.


jr. member
Activity: 182
Merit: 1
Dev:

Came across this article regarding Solidity.  https://medium.com/@Hibryda/why-solidity-isnt-solid-3341af77fc1c

This is not about etheraffle, but about Ethereum's Solidity.  Was wondering about this statement from the whitepaper "Provably Fair – Everything occurs in the public domain."  I know this is not my first encounter of "provably."  There are other projects with such a claim.  But with etheraffle having completed so much work, I thought you maybe in a better position to answer this question.  Have you carried out proving the fairness of etheraffle?  Is the "provability" based on analysis of theorem prover or based on the fact that all the transactions are recorded on the blockchain?

I know this question may go beyond the scope of this project, but it may be directly related due to the fact this project is based on Ethereum.

Thanks for your time and info.

jr. member
Activity: 182
Merit: 1
Noticed this tweet.

 
@etheraffle
 May 16
More
Excellent team meeting this afternoon - update will be coming soon! Meanwhile get playing and winning ETH at http://etheraffle.com . Have a look at http://etheraffle.com/ico  too to see why you should take part of the the only truly decentralized lottery in the world!


When will the "update" be coming?

Hi Sjyi

The update is still in progress - it grew larger than expected and so is taking some more thorough testing before going live...

I know setting up the development/test environment could take an effort, but if you're willing to take on remote test, I'm willing.  I'm starting to work with truffle.
copper member
Activity: 80
Merit: 0
Join the Etheraffle ICO Today!
Noticed this tweet.

 
@etheraffle
 May 16
More
Excellent team meeting this afternoon - update will be coming soon! Meanwhile get playing and winning ETH at http://etheraffle.com . Have a look at http://etheraffle.com/ico  too to see why you should take part of the the only truly decentralized lottery in the world!


When will the "update" be coming?

Hi Sjyi

The update is still in progress - it grew larger than expected and so is taking some more thorough testing before going live...
jr. member
Activity: 182
Merit: 1
Noticed this tweet.

 
@etheraffle
 May 16
More
Excellent team meeting this afternoon - update will be coming soon! Meanwhile get playing and winning ETH at http://etheraffle.com . Have a look at http://etheraffle.com/ico  too to see why you should take part of the the only truly decentralized lottery in the world!


When will the "update" be coming?
jr. member
Activity: 182
Merit: 1

I had to retry several times to push the transaction through.
As you can see from my uploaded pictures, https://imgur.com/a/4T1QFFF you can see my metamask wallet indicates 68450 LOTs where as etherscan https://etherscan.io/tokenholdings?a=0xc8c6618e0ffdb0fedb49385a3dc26845a2179865 indicates 68050 LOTs.


Hello Sjyi!

That's really strange. Is there still a discrepancy? Because if so, it may be due to where MetaMask is looking for your LOT balance. The LOT smart-contract itself is the sole source of truth re LOT holdings. As such, whatever the balance the smart-contract says you have, is the balance you have.




However, this page still shows your balance being lower by 400 LOT. It's almost certainly due to a discrepancy on etherscan's side, since every token transaction made with a non-ERC20 token show's this warning:


Which occurs because the LOT isn't an ERC20 token at all. The tokens are still transferred correctly, only a different event is fired in the LOT's ERC223's case.



Edit:

Upon visiting etherscan.io/address/0xc8c6618e0fFdb0feDb49385A3dC26845A2179865 - ie, your account's page, looking at the token's tab showed 68050 LOT. Then at the bottom, on clicking "Read Contract", and pasting your address into the "Balances" form, in order to query the actual contract, the contract returned 68450 LOT. And suddenly the value at the top also updated to read 68450 too!

This page is still showing the wrong balance however. So it's definitely something strange going on via etherscan. Metamask clearly looks at this page too if it's displaying the incorrect, lower amount (which makes sense, not having to poll the chain...), and so was displaying the wrong balance in this instance. Not terribly user-friendly!

So, the take home message is that whatever the LOT smart-contract itself says is gospel, so don't worry, you have your tokens. W/r/t Metamask and the token page showing the wrong balance, we'll keep digging and see what we can find out...



This certainly was (or is) a difficult one to track down.  Glad you were able to track it down. Glad that you're on etheraffle team.
copper member
Activity: 80
Merit: 0
Join the Etheraffle ICO Today!

I had to retry several times to push the transaction through.
As you can see from my uploaded pictures, https://imgur.com/a/4T1QFFF you can see my metamask wallet indicates 68450 LOTs where as etherscan https://etherscan.io/tokenholdings?a=0xc8c6618e0ffdb0fedb49385a3dc26845a2179865 indicates 68050 LOTs.


Hello Sjyi!

That's really strange. Is there still a discrepancy? Because if so, it may be due to where MetaMask is looking for your LOT balance. The LOT smart-contract itself is the sole source of truth re LOT holdings. As such, whatever the balance the smart-contract says you have, is the balance you have.




However, this page still shows your balance being lower by 400 LOT. It's almost certainly due to a discrepancy on etherscan's side, since every token transaction made with a non-ERC20 token show's this warning:


Which occurs because the LOT isn't an ERC20 token at all. The tokens are still transferred correctly, only a different event is fired in the LOT's ERC223's case.



Edit:

Upon visiting etherscan.io/address/0xc8c6618e0fFdb0feDb49385A3dC26845A2179865 - ie, your account's page, looking at the token's tab showed 68050 LOT. Then at the bottom, on clicking "Read Contract", and pasting your address into the "Balances" form, in order to query the actual contract, the contract returned 68450 LOT. And suddenly the value at the top also updated to read 68450 too!

This page is still showing the wrong balance however. So it's definitely something strange going on via etherscan. Metamask clearly looks at this page too if it's displaying the incorrect, lower amount (which makes sense, not having to poll the chain...), and so was displaying the wrong balance in this instance. Not terribly user-friendly!

So, the take home message is that whatever the LOT smart-contract itself says is gospel, so don't worry, you have your tokens. W/r/t Metamask and the token page showing the wrong balance, we'll keep digging and see what we can find out...

jr. member
Activity: 182
Merit: 1
For my account Number of tokens listed in Metamask (68250) and Etherscan https://etherscan.io/tokenholdings?a=0xc8c6618e0ffdb0fedb49385a3dc26845a2179865 (68050) are not in sync.

The difference seems to be the promotion LOT token (200).


Hi Sjyi

That is interesting! The MetaMask token section should be pointing towards the LOT smart-contract to get it's value! I wonder how they have got out of sync? Are they still out of sync? Etherscan can occasionally lag behind a little on token transfers when reading a contract so it could be that?

...

I had to retry several times to push the transaction through.
As you can see from my uploaded pictures, https://imgur.com/a/4T1QFFF you can see my metamask wallet indicates 68450 LOTs where as etherscan https://etherscan.io/tokenholdings?a=0xc8c6618e0ffdb0fedb49385a3dc26845a2179865 indicates 68050 LOTs.
jr. member
Activity: 182
Merit: 1

Also, here's your FreeLOT token! Let us know how it goes!

Thanks for the freeLOT.

I had to "ADD TOKEN" using the FreeLOT contract address 0xc39f7bb97b31102c923daf02ba3d1bd16424f4bb to receive it.

Then I had 1 FreeLOT showing up on Metamask.

My steps are captured and shown here https://imgur.com/a/4T1QFFF

Until I chose the numbers and clicked "BUY TICKET!" there was no difference from the normal process.

After clicking "BUY TICKET!" a dialog popped up asking if I want to use the FreeLOT coupon. 
NOTE: the dialog box should be slightly bigger to include all of "YES" "NO" selections.

The FreeLOT does not get reduced immediately after the purchase, but it gets reduced after a short while.

Now, let's see if this is my lucky ticket....


copper member
Activity: 80
Merit: 0
Join the Etheraffle ICO Today!
All the best to all the authors of the project and its participants. You created an amazing project.
egretia

Hi egretia

Thank you for your kind words!
copper member
Activity: 80
Merit: 0
Join the Etheraffle ICO Today!
For my account Number of tokens listed in Metamask (68250) and Etherscan https://etherscan.io/tokenholdings?a=0xc8c6618e0ffdb0fedb49385a3dc26845a2179865 (68050) are not in sync.

The difference seems to be the promotion LOT token (200).


Hi Sjyi

That is interesting! The MetaMask token section should be pointing towards the LOT smart-contract to get it's value! I wonder how they have got out of sync? Are they still out of sync? Etherscan can occasionally lag behind a little on token transfers when reading a contract so it could be that?

Also, here's your FreeLOT token! Let us know how it goes!
jr. member
Activity: 182
Merit: 1
For my account Number of tokens listed in Metamask (68250) and Etherscan https://etherscan.io/tokenholdings?a=0xc8c6618e0ffdb0fedb49385a3dc26845a2179865 (68050) are not in sync.

The difference seems to be the promotion LOT token (200).


jr. member
Activity: 182
Merit: 1
I just noticed that I can redeem promotion LOT token anyday, not just Saturday.
member
Activity: 168
Merit: 10
All the best to all the authors of the project and its participants. You created an amazing project.
egretia
jr. member
Activity: 182
Merit: 1
No... I had several one matches.

So close! Send us your ethereum address and we'll send you a FreeLOT token so you can test out the free entry mechanism for us...

Here is my address
0xc8c6618e0fFdb0feDb49385A3dC26845A2179865

Looking forward to trying out the free entry mechanism.
copper member
Activity: 80
Merit: 0
Join the Etheraffle ICO Today!
No... I had several one matches.

So close! Send us your ethereum address and we'll send you a FreeLOT token so you can test out the free entry mechanism for us...
jr. member
Activity: 182
Merit: 1
Ah....
Another winner!

Someday, I'll be one  Grin

Fingers crossed!! Have you had any two-match wins for a free go?

No... I had several one matches.
copper member
Activity: 80
Merit: 0
Join the Etheraffle ICO Today!
Ah....
Another winner!

Someday, I'll be one  Grin

Fingers crossed!! Have you had any two-match wins for a free go?
jr. member
Activity: 182
Merit: 1
There seems to be an inconsistency between the etheraffle contract https://etherscan.io/address/0x45c58bbd535b8661110ef5296e6987573d0c8276 and the web page for etheraffle itself https://www.etheraffle.com/

The contract shows 2.0297362825309184 Ether where as the web page shows Prizepool: 1.708003 Ether!

As of yesterday, they were in sync.



Hi Sjyi!

The article we posted yesterday here might help explain the discrepancy - though you've probably already seen it by now! There exists another reason that prize pool and the contract balance may not always be in sync as well, but we are currently writing a second article to explain that more thoroughly.

Ah....
Another winner!

Someday, I'll be one  Grin
Pages:
Jump to: