Comments (7)
There was high demand and 3rd party interest for "gambling" related CCs - maybe a dice, lotto or 'roulette' sort of contract?
@ca333 I feel like these things are more "apps" so they should have their own repos, with branding, frontends etc. But, we should make them easy to create, by providing the necessary primitives. Off the top of my head:
- Random numbers (have we solved this one? @Alrighttt?)
- Accounts (v hard to do a lottery without this)
Anything else I may be missing?
from pycc.
There was high demand and 3rd party interest for "gambling" related CCs - maybe a dice, lotto or 'roulette' sort of contract?
from pycc.
- Random numbers (have we solved this one? @Alrighttt?)
we don't have a proper generic/high level blockchain based RNG (yet) afaik - having one would def solve a lot.
we have a more experimental and vuln lotto CC ref. implementation:
https://github.com/komodoplatform/komodo/blob/master/src/cc/lotto.cpp
https://github.com/komodoplatform/komodo/blob/master/src/cc/CClotto.h
- Accounts (v hard to do a lottery without this)
+1, certainly needed for many casino related apps
from pycc.
* Random numbers (have we solved this one? @Alrighttt?)
We can use notarization hashes or momom data as entropy, but this limits many use cases as it can only happen every 3 minutes at the fastest. It happens every ~10 minutes using default iguana configuration. I believe this is a sufficient source of entropy as it's highly unlikely a single person/party can influence it. (actually, everyone can influence it. Spam some txes and you can be relatively sure no one is entropy grinding.)
@jl777 used a method in Dice CC which can support faster times. The "dealer" would create entropy, hash this entropy and broadcast this hash inside a transaction. The "bettor" would then choose one of the dealer's utxos and bet against it. Dealer would then be forced to reveal entropy within some time frame or the bet would default to a loss. Once entropy is revealed, either party can finalize it. I recall some issues with this concept, but I can't remember exactly what they were. If you're interested, can try to dig through on chat logs from the discord server.
https://beacon.nist.gov/home
@dimxy has done some work on pushing data from this api on chain via the "decentralized trustless oracles" concept. I believe this could could allow a dapp to get a new source of entropy per block time.
* Accounts (v hard to do a lottery without this)
very hard, but not impossible. Payments CC is an example of a CC that can handle the huge amount of utxos that would be needed.
from pycc.
I made an issue #8 for the RNG thing.
from pycc.
in the kogs game project we need randoms created more often (several times in a block)
from pycc.
@dimxy could you look at issue #8? See if option 3 would work?
from pycc.
Related Issues (15)
- Make faucet work (start here)
- Introducing user-defined parameters into schema validation HOT 1
- pycctx needs to distinguish between p2pk and p2pkh while signing
- make OP_RETURN data format safe and efficient HOT 1
- feature request: validation error message handling
- standard "global addresses" HOT 5
- pycctx: bad scriptPubKey encoding for some condition structures HOT 3
- pycctx: mixed mode
- Module Refactor
- Rename "consume" to "deconstruct"
- Make a generic CLI interface for schemas
- Rust CC quality
- How to connect inputs to outputs / validation strategy HOT 2
- Providing entropy HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pycc.