Pages:
Author

Topic: 🎅🎄 Idea di lotteria Natalizia con estrazione tramite Blockchain - page 2. (Read 332 times)

legendary
Activity: 2268
Merit: 16328
Fully fledged Merit Cycler - Golden Feather 22-23
Guardate che i legendary non devono approvare alcunchè.
Potete andare avanti come meglio credete.
Se volete potete lasciare la cosa nell'ambito della board locale (difficile, dato che si e no vi scrive una 50 di persone), oppure provare ad allargare la cosa alla board internazionale, dove queste riffe sono organizzate a getto continuo, però li, a meno di avere qualcuno con un pò di trust, è difficile che qualcuno vi mandi i propri satoshi.
Ancora una volta l'unico che è "nel giro" è @bitbollo.
Per quanto mi riguarda, pur condivindendo lo spirito dell'iniziativa, non è proprio il mio genere di inziative.
jr. member
Activity: 37
Merit: 13
come idea non è male.
Si dovrebbe organizzare, ma senza l'approvazione dei legendary la cosa penso che non può andare in porto
member
Activity: 66
Merit: 35
questo è l'hash dell'ultimo blocco
Code:
00000000000000000000a4eb0e9b38a1fe159ac4b3a519c6c1ea5e60ab842332
come potremmo determinare i numeri vincenti

Puoi usare questo codice:



Quote

Provably fair giveaway manager

As the blockhash is just a number, its last 6 digits is converted to decimal using this function:

var decimal = parseInt(blockhash.slice(-6), 16);
Now we have an integer (0 to 16777215) from the blockhash.

After dividing this decimal by the number of participants, we use the modulo operator (%) to get the division remainder becomes the index_number.

This index_number is applied in the participants list, to get the position of the winner.

var index_number = decimal % competitors.length;
var winner = competitors[index_number];
For additional winners, the past winners are removed from the list and one more digit is added from the blockhash. A maximum 30 was added to avoid working with big numbers.


Sul forum credo sia abbastanza standard

Ho cercato di capire questo codice, e grazie anche a chat gpt abbiamo buttato giu un codice in python, che sembra funzionare :

Code:
 def estrai_vincitori(hash_blocco, partecipanti, numero_vincitori=3):
    vincitori = []
    
    for i in range(numero_vincitori):
        # Prendi gli ultimi 6 caratteri e ulteriori se ci sono più vincitori
        hex_slice = hash_blocco[-(6 + i):len(hash_blocco) - i]
        # Converti i caratteri in numero decimale
        decimal = int(hex_slice, 16)
        # Trova il vincitore con il modulo rispetto al numero di partecipanti
        index_number = decimal % len(partecipanti)
        
        vincitore = partecipanti[index_number]
        vincitori.append(vincitore)
        
        # Rimuovi il vincitore per evitare duplicati
        partecipanti.pop(index_number)
    
    return vincitori

# Inserisci l'hash e il numero di partecipanti
hash_blocco = input("Inserisci l'hash del blocco (64 caratteri esadecimali): ")
numero_partecipanti = int(input("Inserisci il numero di partecipanti: "))

# Crea una lista di partecipanti da 1 a numero_partecipanti
partecipanti = list(range(1, numero_partecipanti + 1))

# Estrai i vincitori
vincitori = estrai_vincitori(hash_blocco, partecipanti, 3)

# Stampa i vincitori
print("I vincitori sono:", vincitori)
 

Il programma da la possibilità di incollare l'hash selezionato dalla blocco, e inserire il numero di partecipanti. In base all'hash lui genera i tre vincitori.
La veridicità dei numeri la possono verificare tutti, perchè avendo l'informazione dell'hash, e dei numeri dei partecipanti i 3 numeri estratti saranno univoci. soltanto cambiando hash o num di partecipanti i 3 numeri vincenti cambieranno
jr. member
Activity: 37
Merit: 13
Beh però il tuo codice ha come vincolo un max di 30 partecipanti.
Code:
block 866530:
00000000000000000000c8c822a175de62e38b0eb6fc96ee528c5e225b87c2dc
block 866531:
00000000000000000001b6bf7f319c676bb981cf1bbd7317d3b5463c6befe45e
block 866532:
0000000000000000000245e70aa5383cc3f4b9cf63b0931f7cf429fd871ca82b
block 866533:
0000000000000000000075b43c430c8016965972bfb72d0492a8fd775e7a9878
block 866534:
00000000000000000001e54bbe5562022b07b89e4f4ac2a55164605aa635611f
block 866535:
000000000000000000028778898d40ef76bb5d98f5b0583b833579788df06b10
block 866536:
00000000000000000001d18114cb82eb3a3a171aefdde019ced90c9905da9ba6
block 866537:
0000000000000000000299de1a595638afd103c99d461e9993fa93e709354228
block 866538:
0000000000000000000125f70ca001c3009cc24b75b61326840e7d5a553f7b17
block 866539:
00000000000000000000ee3df526effb6f2686401f7bb775e1d79c7a54130ffa
block 866540:
0000000000000000000286248256642893f95918a34c49423d735d7fcf52b6bf

Qui ho riportato l'hash dal blocco 530 al 540 e sinceramente anche prendendo le ultime 2 cifre della stringa, non sempre è un valore numerico
legendary
Activity: 2268
Merit: 16328
Fully fledged Merit Cycler - Golden Feather 22-23
Il codice che ho allegato precedentemente permette l’estrazione di un numero tra 1 e 30 di vincitori.
Potrebbe essere bello prendere il primo blocco con mean time nel 25 dicembre (UTC).
Insomma le possibilità non mancano.
member
Activity: 66
Merit: 35
Bellissima idea.
Se posso dire la mia si potrebbe risolvere utilizzando 3 blocchi.
Ad esempio se la data dell’estrazione è il 25 Dicembre , si calcola il blocco più o meno per quella data e si stabilisce ad esempio:
Blocco 890.001 terzo posto
Blocco 890.002 secondo posto
Blocco 890.003 primo posto
Il riferimento sono gli ultimi due numeri dell’Hash , quindi da 00 a 99 (sarebbero 100 partecipanti) e si stabilisce i vincitori.

Proporrei anche la possibilità di poter scegliere il numero (tra quelli liberi rimasti)
legendary
Activity: 2268
Merit: 16328
Fully fledged Merit Cycler - Golden Feather 22-23
questo è l'hash dell'ultimo blocco
Code:
00000000000000000000a4eb0e9b38a1fe159ac4b3a519c6c1ea5e60ab842332
come potremmo determinare i numeri vincenti

Puoi usare questo codice:



Quote

Provably fair giveaway manager

As the blockhash is just a number, its last 6 digits is converted to decimal using this function:

var decimal = parseInt(blockhash.slice(-6), 16);
Now we have an integer (0 to 16777215) from the blockhash.

After dividing this decimal by the number of participants, we use the modulo operator (%) to get the division remainder becomes the index_number.

This index_number is applied in the participants list, to get the position of the winner.

var index_number = decimal % competitors.length;
var winner = competitors[index_number];
For additional winners, the past winners are removed from the list and one more digit is added from the blockhash. A maximum 30 was added to avoid working with big numbers.


Sul forum credo sia abbastanza standard
jr. member
Activity: 37
Merit: 13
sul discorso estrazione non ho capito bene , però inerente a ogni account potremmo mettere una regola di max due ticket acquistabili.
Sul discorso montepremi sarà l'intero importo diviso i 3 vincitori con percentuali ovviamente diverse

questo è l'hash dell'ultimo blocco
Code:
00000000000000000000a4eb0e9b38a1fe159ac4b3a519c6c1ea5e60ab842332
come potremmo determinare i numeri vincenti
legendary
Activity: 3276
Merit: 3537
Nec Recisa Recedit
visto che siamo su un forum di bitcoin utilizzerei il sistema offerto dalla blockchain.
si sceglie un blocco. non appena viene prodotto utilizzi l'ultima cifra o lettera della txid.
quindi un numero da 0 a 9 oppure una lettera da a-f --> possibili opzioni di scelta dei giocatori.

Il timeBlock di Bitcoin potrebbe essere un ottima alternativa, ma non sarei molto esperto nel convertirlo in un numero vincente estratto Grin Grin

per quanto riguarda i "problemi" evidenziati: nel primo caso semplicemente chiudi iscrizioni a max xx numeri. (ogni giocatore ha limiti di acquisto o può acquistare più slot?)
nel secondo caso, andrai a dividere il montepremi per i 3 vincitori a prescindere da quanti partecipano.
jr. member
Activity: 37
Merit: 13
Il timeBlock di Bitcoin potrebbe essere un ottima alternativa, ma non sarei molto esperto nel convertirlo in un numero vincente estratto Grin Grin
legendary
Activity: 2268
Merit: 16328
Fully fledged Merit Cycler - Golden Feather 22-23
Ottima iniziativa.
Permettimi però una osservazione:


Non sono il massimo esperto di riffe, ma abbiamo la ruota della fortuna più equa al mondo che gira ogni 10 minuti.
Quindi, inizierei a modificare il regolamento per usare un blocco di Bitcoin per determinare il vincitore.
Poi sicuramente @bitbollo è più esperto di me in questo genere di cose.
jr. member
Activity: 37
Merit: 13


Salve a tutti!

Con l’avvicinarsi del periodo natalizio, ho pensato di dare spunto alla comunity per organizzare una piccola iniziativa : una estrazione a premi in Bitcoin  che magari si potrebbe svolgere nel periodo natalizio

L'idea è semplice:

Verranno assegnati 3 premi ai primi 3 vincitori, che saranno determinati utilizzando i numeri estratti sulla ruota di Roma durante una delle estrazioni del periodo natalizio.
Ogni partecipante avrà un numero abbinato per un massimo di 90 partecipanti (se il numero dei partecipanti è maggiore di 90 non so come risolvere il probema  Grin )

Ad esempio ogni utente che vorrà partecipare dovra versare una somma simbolica On chain (10euro, in bitcoin )  a un indirizzo (Ovviamente non posso detenerlo io , perchè avendo pochi crediti qui sul forum la maggior parte di voi GIUSTAMENTE penserà che sarà una scammata) infatti chiedo ai membri lengend come : @fillippone - @ale88 - @babo - @plutosky - @picchio (scusate se non ne menziono di più, ma fatevi avanti) di detenere loro i fondi per poi dividerli ai vincitori


Come funziona:
Ogni partecipante sarà associato a uno o più numeri.
Durante l'estrazione di Natale,  i primi 3 numeri verranno estratti tramite l'hash del blocco stabilito per il giorno e l'ora di Natale
I primi tre numeri estratti assegneranno i 3 premi principali.

Dettagli sui premi:
🏆 Primo premio: [terzo numero estratto] 55% dei fondi raccolti
🏅 Secondo premio: [secondo numero estratto] 30 % dei fondi raccolti
🥉 Terzo premio: [primo numero estratto] 15% dei fondi raccolti

I problemi principali sono:
Cercare tramite l'hash di estrarre 3 numeri vincenti, in base ai partecipani.

L’obiettivo è creare un momento di condivisione e divertimento per la community, senza alcuna pretesa particolare se non quella di augurarci buone feste e celebrare insieme in modo originale, diciamo che è una sorta di lotteria che si faceva al catechismo con i giocattoli riciclati,penso che sia tutto legale, e che non vada contro il regolamento del forum

EDIT: Ho cambiato il titolo del post

Pages:
Jump to: