
Unsere Plattform nutzt einen auf der EOS-Blockchain basierenden Algorithmus, um das Ergebnis von Battles zu bestimmen. Dieser Prozess ist vollständig extern, dezentralisiert und liegt außerhalb unserer Kontrolle, da er ausschließlich durch die Aktionen von Minern und Validatoren gesteuert wird. Eine Beeinflussung der Spielergebnisse würde die Dominanz über das gesamte EOS-Blockchain-Netzwerk erfordern, was nicht machbar ist.
Nachdem das Battle erstellt wurde, generiert die Plattform nur den Server-Seed. Sobald alle Spieler oder Bots beigetreten sind, prüft die Plattform die aktuellste EOS Block Number, die bereits gemint wurde, ermittelt dann die Nummer eines zukünftigen Blocks, der noch nicht gemint wurde, und wartet, bis die EOS Block ID generiert wird.
Sobald die Plattform die EOS Block ID kennt, kann der Client-Seed erstellt werden und das Battle-Spiel beginnt.
Das Battle beginnt mit dem Drehen aller Runden, nacheinander (Rundenanzahl entspricht der Anzahl der Boxen).
(Die EOS Block ID kann anhand der Nummer über den Link https://bloks.io/block/359689419 gefunden werden)
Kommt manchmal vor, wenn 2 oder mehr Nutzer/Gruppen den gleichen Gesamtwert an gedroppten Artikeln haben. In diesem Fall ermittelt die Plattform den Gewinner durch einen zusätzlichen Spin unter Verwendung eines Draw-Seeds zur Ergebnisgenerierung. Für jede Gruppe im Draw-Spin weist die Plattform Tickets zu und generiert dann das zusätzliche Ticket zur Auswahl eines Gewinners (oder mehrerer Gewinner).
Beispiel: In einem Battle für 4 Nutzer haben 2 von ihnen den gleichen höchsten Gesamtwert an gedroppten Artikeln. Für Nutzer #1 weisen wir die Tickets (1 - 50.000.000) zu, für Nutzer #2 (50.000.001 - 100.000.000). Das Ergebnis des Draw-Spins ist 23.188.100. Nutzer #1 hat dieses Ticket und wird somit Gewinner des Battles.
Du kannst unseren Algorithmus mit unserem Tool am Ende der Seite überprüfen oder den JavaScript-Code manuell ausführen. Die Ticketnummer eines Artikels findest du auf der Box-Seite.
const serverSeed = "0bcfbdd1bdb8b5a3cc36f29dedc03fdf705a18b3610e46f094fe3337475de0ea"; (Random string for creating battle)
const clientSeed = "5e62aa1e3792036cf6bcc5f59f1c9f6a18d0438410077db13b531b4604dfad6c"; (EOS block id)
const nonce = 1; (unique play number)
random(serverSeed, clientSeed, nonce).then((x) => console.log("Result", x));
async function sha512(str) {
return crypto.subtle.digest("SHA-512", new TextEncoder("utf-8").encode(str)).then((buf) => {
return Array.prototype.map
.call(new Uint8Array(buf), (x) => ("00" + x.toString(16)).slice(-2))
.join("");
});
}
async function random(...parts) {
const combinedHash = await sha512(parts.join(":"));
const hashInt = BigInt("0x" + combinedHash);
const maxInt = BigInt(100000000);
return Number((hashInt % maxInt) + BigInt(1));
}