Show Posts
|
Pages: [1]
|
in 5% math says that, i can get up to 377 losses in row, so you have to make a bot to take 400 loss and still alive
|
|
|
maybe he attacks the master nodes servers and make them vote to his blocks and reject the others, then the difficulty be low and he can mining alone at near zero difficulty.
|
|
|
why we lose (even if the site is 100% fair)? the answer is very simple we can't create more power from nothing how? say that we have the chance of 100% win at the end if the site takes his edge (say 0.2%) every roll then the 100% will not still 100% it will decreased till be 0% and we lose all the money at the end
in another words: say you have 100$ and every play, the site takes 0.2$ every time you play 100 rolls, the site takes 20$, so how you can win at the end ?? if your normal chance was 100, now you have a chance of 80 to win instead of 100
in another words: say the bet amount is 100$ say the bet chance is 5% now if we win we will take 1898$ 5% means that every 100 rolls i will win only 5 times and lose 95 times my win=5*1898=9490 my loss=95*100=9500 ----------------------------------------------------------------------------------------- what do i need to win??? say we play 50% chance and the edge was 0 (no edge) and we play martingales how many loss in row we will take ? if we play 1024 rolls we can take 11 loss in row if we play 2048 rolls we can take 12 loss in row if we play 2147483648 we can take 32 loss in row if we play infinite we can take infinite loss in row
so we must lose at the end because our money is limited and if we have unlimited money, the max bet amount is limited. and the edge will cut from our chance to win and forward us directly to the loss.
|
|
|
i want to solo mining pasl-coin i use vps and pasl wallet when i connect to it from nicehash.com it says unknown stratum message is there any proxy or any way to let me solo-mining pasl-coin ?
|
|
|
important notice using this: Session[Currency].Balance , after: (DiceWebAPI.PlaceBet) to get the new balance gives wrong result because it delayed until updated leading to errors in processing results
|
|
|
// c# code to verify every bet in the multi bet results
using System.Security.Cryptography; using System.Globalization; //========================================================================================== static bool VerifyBetResult(string serverSeed, int clientSeed, int betNumber, long betResult, string serverSeedHash = null) { Func<string, byte[]> strtobytes = s => Enumerable .Range(0, s.Length / 2) .Select(x => byte.Parse(s.Substring(x * 2, 2), NumberStyles.HexNumber)) .ToArray(); byte[] server = strtobytes(serverSeed); byte[] client = BitConverter.GetBytes(clientSeed).Reverse().ToArray(); byte[] num = BitConverter.GetBytes(betNumber).Reverse().ToArray(); byte[] serverhash = serverSeedHash == null ? null : strtobytes(serverSeedHash); byte[] data = server.Concat(client).Concat(num).ToArray(); using (SHA512 sha512 = new SHA512Managed()) { if (serverhash != null) using (SHA256 sha256 = new SHA256Managed()) if (!sha256.ComputeHash(server).SequenceEqual(serverhash)) throw new Exception("Server seed hash does not match server seed");
byte[] hash = sha512.ComputeHash(sha512.ComputeHash(data)); while (true) { for (int x = 0; x <= 61; x += 3) { long result = (hash[ x ] << 16 ) | (hash[x + 1] << 8 ) | hash[x + 2]; if (result < 16000000) return result % 1000000 == betResult; } hash = sha512.ComputeHash(hash); } } }
//==========================================================================================
var seed = rnd.Next(rnd.Next(0, 111111), rnd.Next(222222, 999999)); var settings = new AutomatedBetsSettings { BasePayIn = baseBet, GuessLow = guessLow, GuessHigh = guessHigh, MaxBets = betCount > Session.MaxBetBatchSize ? Session.MaxBetBatchSize : betCount, ResetOnWin = resetOnWin, ResetOnLose = resetOnLoss, IncreaseOnWinPercent = increaseOnWin, IncreaseOnLosePercent = increaseOnLoss, MaxAllowedPayIn = maxBet, ResetOnLoseMaxBet = resetOnMaxLoss, StopOnLoseMaxBet = stopOnMaxLoss, StopMaxBalance = stopMaxBalance, ClientSeed = seed,//rnd.Next(), Currency = Currency };
var ServerSeedHash = DiceWebAPI.GetServerSeedHash(Session).ServerSeedHash;
var result = DiceWebAPI.PlaceAutomatedBets(Session, settings); if (!result.Success || result.BetCount == 0) { return; }
//verify result bool it = false; for (int i = 0; i < result.BetCount; i++){ it = VerifyBetResult(result.ServerSeed, seed, i, result.Secrets, ServerSeedHash); if (!it) { MessageBox.Show("Verify Fail: Something wrong!!"); } }
|
|
|
/* I Think, To Get 100% Fair Bets, Do That Test With Every Bet Note That ServerSeedHash Is The Same For All (BTC,DOGE,LTC) So If You Run More Than One Bot You Have To Do Some Complex Programming To Know The Next ServerSeedHash Because May Be It Taken By Other Bot And The Server Create New One. */
using System.Security.Cryptography; using System.Globalization;
//========================================================================================== static bool VerifyBetResult(string serverSeed, int clientSeed, int betNumber, long betResult, string serverSeedHash = null) { Func<string, byte[]> strtobytes = s => Enumerable .Range(0, s.Length / 2) .Select(x => byte.Parse(s.Substring(x * 2, 2), NumberStyles.HexNumber)) .ToArray(); byte[] server = strtobytes(serverSeed); byte[] client = BitConverter.GetBytes(clientSeed).Reverse().ToArray(); byte[] num = BitConverter.GetBytes(betNumber).Reverse().ToArray(); byte[] serverhash = serverSeedHash == null ? null : strtobytes(serverSeedHash); byte[] data = server.Concat(client).Concat(num).ToArray(); using (SHA512 sha512 = new SHA512Managed()) { if (serverhash != null) using (SHA256 sha256 = new SHA256Managed()) if (!sha256.ComputeHash(server).SequenceEqual(serverhash)) throw new Exception("Server seed hash does not match server seed");
byte[] hash = sha512.ComputeHash(sha512.ComputeHash(data)); while (true) { for (int x = 0; x <= 61; x += 3) { long result = (hash[ x ] << 16 ) | (hash[x + 1] << 8 ) | hash[x + 2]; if (result < 16000000) return result % 1000000 == betResult; } hash = sha512.ComputeHash(hash); } } }
//==========================================================================================
var ServerSeedHash = DiceWebAPI.GetServerSeedHash(Session).ServerSeedHash; int clientSeed = 333;//any number int BetNumber = 0;//must be 0
var res = DiceWebAPI.PlaceBet(Session, decimal.Parse("-0.00000001"), 0, 499499, clientSeed, Currency); if (!res.Success) { return; } var it = VerifyBetResult(res.ServerSeed, clientSeed, BetNumber, res.Secret, ServerSeedHash); if (!it) MessageBox.Show("Something wrong!!");
//==========================================================================================
|
|
|
Bet Number
1.Server Seed + Client Seed (->byte[4]) + Bet Number (->byte[4]) ===============================================
var res = DiceWebAPI.PlaceBet(Session, decimal.Parse("-0.00000001"), 0, 499499, 333, Currency); if (!res.Success) { return; } var s = res.Secret; for (int n = 0; n < 1000000; n++) { int i = DiceWebAPI.GenerateBetResult(res.ServerSeed, 333, n); if (i == s) { MessageBox.Show("betnumber="+ n.ToString());break; } } ================================================ from this test
i found that betNumber=0 always
------------ Update: Bet Number Used To Verify Bets In Auto Bets It will Be 0,1,2,3,4,...
|
|
|
private bool PlaceBet(){ var res = DiceWebAPI.PlaceBet(Session, decimal.Parse("-0.00000100"), 0, 499499, 333, Currency); if (!res.Success) { return false; } string s= res.Secret.ToString(); string b= Session[Currency].Balance.ToString("0.00000000"); return true; }
|
|
|
//C# code
private void BetComplete(IAsyncResult ar) { }
private void PlaceBet(){ IAsyncResult res1 = DiceWebAPI.BeginPlaceBet(Session, decimal.Parse("-0.01000000"), 0, 499499, 333, Currency, BetComplete, null); while (!res1.IsCompleted) { Thread.Sleep(1); } var res2 = DiceWebAPI.EndPlaceBet(res1); if (!res2.Success) { MessageBox.Show("error1"); return; } var s = res2.Secret; }
|
|
|
|