Lex Pool (A rewritten pool based on uray source)
-
Hi Guys,
just uploaded the modification i made to Urays source to prevent ghost blocks, forks and negative balances.
the method i chose to detect block winner has a huge performance advantage over the prior method reducing load on the server/computer/resource its ran on.
supports
https://nodejs.org/download/release/v5.12.0/Instructions.
-
Download and install Node.js from https://nodejs.org/en/download/
-
Download the Pool and extract to any folder: https://github.com/SOELexicon/burst-pool
Important Notice - Do not use the version that Pascal66 has forked on github as i cannot support his changes.
he's basically gone removed all the credits and deleted a feature asked by the users here that supports development.
there is no difference besides from the node version it runs.
his node v6 & v7 fork breaks backwards compatibility with mine at the cost of no additional features
redirection : { //a useful feature if you ever have to swap hosts enabled : false, target : 'http://8.8.8.8:8124' // so change the 8.8.8.8 on the old server config to the new servers ip and enabled to true then it should forward all the requests. **tip** - make sure you also change a few characters in the old servers passphase so the pool doesnt accidentally pay out twice }, walletIndex: 0, blockMature : 1, //<-- Block mature (amount of blocks to go back and check for block winner (Fork Avoidance) txFeePercent : 0.0005, devFee : true,// that if enabled would send [devFeePercent] of the pools earnings as a developer fee to myself after a few requests of people wanting to support the project. 1% works out to be less than 25 coins. getting lower each month. devFeePercent : 0.01,// <-- pool owners can choose the percent they wish to donate to development poolFee : 0.01, //<---- pool fee poolDiff : 1000000, poolDiffCurve : 0.75, poolPort : 8124, //<-- port miner uses to communicate data poolPvtKey : '<pool private key>',// <- should be your pool account passphrase poolPublicRS : 'BURST-F3XD-Y4M5-SN8C-G9FFJ',// <---- your pool burst id poolPublic : '16732464642587527083', // <---- your pool burst numeric id poolFeePaymentAddr : '17572168194578653714', //<----your wallet fee payment burst id numeric defaultPaymentDeadline : 1440, poolFeePaymentTxFeeNQT : 100000000, httpPort : 80, //<--- Pool http port websocketPort : 4443, //(Web Socket Port) enablePayment : true, //(disables payout) minimumPayout : 250.0, // removed in prior version clearingMinPayout : 20.0, //min payout threshold before payments are sent to pending. in pool payments.json lastSessionFile : 'last-session.json', //unused cumulativeFundReduction : 0.5, //% of the block reward to reserve for each prior round. logWebsocketToConsole : false, //show web-socket info in console maxRoundCount : 97, // max amount of rounds to hold shares in memory for sharePenalty : 0.001, maxRecentPaymentHistory : 50 //max amount of lines to show in paymentHistoryThe webpage is in the folder "client" edit as you want.
- After editing all files, you can Run "START POOL.cmd", should appears a window like this one:
obs: You need a Local Wallet running with Block-chain up to date.
please donate for development to the address's below. it would be much appreciated as this took a good few months to track down, fix and implement.
if you could kindly give me credits somewhere on your pool site it would be much appreciated
[Burst] BURST-ZPPL-BV2U-VVZN-8DJX7 [Bitcoin] 1EWqGpP96Jx2gnD4UQBEoMrdpJPmLpdKJH
Commit History
*** Jan 19, 2017***
Limit post requests over port 80
Jan 18, 2017
add aditional miner image

Dec 26, 2016
increase spacing38b8c4de967c4a7754dfcb5d6bff93668885f5f9
added some simple documentation
8f98f4151a517c6d25f086d617ed79fe3f3d40f6

Logger Module
add the following code at the top of the other js files in the directory
var poolLogging = require('./burst-pool-logger');usage is like this
poolLogging.writeDateLog('Test') to turn off and on toggle var enabled = false;do not leave on as can cause problems on large pools due to the time it
takes to open a large file and write to it
1511d15a3fd363c33aadba8807f268a6e47a634e

add getDateTime Function and show miner type
getDateTime added so users can add times to console output. added a
simple example with best deadline.also added icon display for various miner types. so users with blago who
get a best deadline get shown with blago's icon. same with andriod. and
jminer. unknown ones will come up with a ? icon
0eccddcde8097daa2485733d3eb2686c41ec677c

Dec 12, 2016
Configurable Development Fee %
added so owners have better control on the amount they wish to donate to
furfer development towards the project
bad792ab5d40bd07594f70a2f42c8f4361f2dc42

Dec 10, 2016
blockMature-ConfigOption to backdate blockwin
option to check back x amount of blocks for blockwinner. this delay gives the block time chance to properly identify who the winner is and helps avoid forks
6dde6b3c6f6cd4fe1be832a643057920e0902572

Nov 29, 2016
send payment bugfix
bug that caused payments not to send
29f4bd87143509f0abab8fe1a33e4bbdca5a2a18

Nov 26, 2016
Payments On New Block Rewrite
Completely Rewrite the payment procedure to go off detecting dedecting
the winner rather than a change in balance.
c192e57a877dc4f4b96b7896bcb29ef5491aa7d5

Nov 14, 2016
Initial commit change read me
update old info
f5f86d5bb559c12b79c37b72f5bc7c1b29f7fc60Edit:
someone missed an update i did to this where there was an additional setting "devFee" that if enabled would send 1% of the pools earnings as a developer fee to myself after a few requests of people wanting to support the project. it works out to be less than 25 coins. getting lower each month.
-
-
For network stability I urge uray pool hoster to update their codebase.
Users, please inform your pool admins.
Thank you lexicon!
-
Lexi,
This is huge; thank you so much for this upgrade. I'm not sure that people that just mine or trade on Polo understand the torment of forks and detection not to mention the performance requirements of Burst Mining Pools when they are being hit by hundreds of submissions in the first couple seconds of every new block. It's like an iceberg where the tip of the problem is exposed on the forums when people yell fork at Ninja or Burst-Team and yet there is a 2000 ton beast flowing under the water as databases corrupt forward and have to be rolled back or be rebuilt.
As a thank you to Lexi anyone that runs this new software I urge you to set in your burst-pool-config.js the poolFeePaymentAddr to '17572168194578653714' <-- Lexi's wallet and let it run for a while to show him how much we as a community appreciate what he has done.
My hat is off to you sir.
-IceBurst
-
@IceBurst man thanks for the support its much appreaciated.
with the fee address change i wrote in a feature in the config called devFee. if this is true it will sent me 1% as well as whoever is in the poolFeePaymentAddr field. :).
i added this for those who want to support this project.
-
hi guys, the release i had up had a small bug with sending payments. in my haste to get this done i must of forgot to delete - prevFund so when the pool checked to see if the payments were greater than the balance. it would always pull back the balance as 0.
this is now fixed in the latest release on github. (https://github.com/SOELexicon/burst-pool/commit/29f4bd87143509f0abab8fe1a33e4bbdca5a2a18)
-
-
@Burstde that error message usually means you dont have npm installed. or have another versoin that is missing the moment modules. try reinstalling npm and node 4.4
-
This post is deleted!
-
@Burstde it runs on node.js mate. you would need npm either way. theres no possible way you would of had the original pool running otherwise.
in your old pool folder. move node_modules into the new pool or copy it. then try.
NPM stands for Node Package Manager.
-
@Lexicon said in Lex Pool (A rewritten pool based on uray source):
move node_modules
Your right, that's funny carried that folder around for awhile not knowing why.
-
@Burstde said in Lex Pool (A rewritten pool based on uray source):
@Lexicon said in Lex Pool (A rewritten pool based on uray source):
move node_modules
Your right, that's funny carried that folder around for awhile not knowing why.
you can delete that folder and do a
npm installto pull the modules defined in the "package.json"
-
@Lexicon
Funny thing just happened in your pool! Which makes me question the "payout scheme" a bit!
I'm not questioning fairness because it could happen to everyone and it just is!-)So here whats happened: We won 3 Blocks in a row depleting all the "history shares". Which led to an huge payment for the last block winner.
it looks like "GAJL-...." squeezed in with a few Minutes deadline between the winner and my one hour dl (M2Y3-....)!
So he got a little for his current shares. Nevertheless I'm happy for them!-)
But I'm starting to think this is suboptimal! Because it somewhat defies the "pool thought". And you could probably win the whole block reward with an fast enough dl.edit: I put this here because it seems to be "uray mannerism" which cant be unset in the config. right?
Btw. are the payments setup now to pay 50% to the winner no matter what dl he has? Saw you talking about it but I'm unsure.
-
@nixxda cheers buddy. it is on the list of things left to do and i did post it in my original thread in the pool announcements a few weeks ago. i have a local copy of the live pool that i use for testing to prevent pool downtime. i'm getting somewhere with these changes.
is there any chance you can test the payout methods for me. ill let you know when ive uploaded the changes to payouts. it currently goes still goes off the standard uray payout code
i thought of a minor issue with keeping the historic shares and keep paying out on them was if someone were to leave the pool and the pool hit 2-3 blocks in a row the round after he left. the user would be getting paid for being at another pool. however im thinking this issue might not crop up often and when it does the effects could be negligible
i've got 3 types of payouts in mind
-
Reserve half of the block reward for the winner upon working out share payments ignore the block winners shares and payout the remaining burst and dont delete prior shares.
-
Reserve half of the block reward for the winner upon working out share payments ignore the block winners shares and payout the remaining burst and delete prior shares
-
Payout to each rounds shares but dont delete share history
if theirs any others you can think of and also if there is one you would like me to do first let me know. ill make this somewhat of a priority when im between tasks
-
-
hej @Lexicon
I had to think about your Ideas for a while!-)
So basicly we have got this two suboptimal cases where one is keeping the historic shares and continue to payout even when somebody left. And the other is resetting historic shares which leads to the problem I described above.
If I had to weighing them against each other I'd say that the first one probably happens more often but less Coins would be involved!?
Or is it exactly the same since one would always lose on historic shares?? I'm unsure...
Goal would be to make it the least "painful" for all the miners actually mining there!Personally I liked the Idea of paying out 50% to the block winner. Because he's the winner no matter what deadline he had!-)
And it enshures that you dont get under 1000 for winning (for the time being!)But my numbers dont ad up! I might still not have understood the uray payout fully. More thinking.......
as for testing, sure fire away! If you've got some dev pool running at an other port tell me! But I've only got one miner. Maybe I'll get my ACD account back next week then I've got two.
-
@nixxda it is to be honest quite hard to get right as that difference could of been tx fees. yesterday my pool hit a block with a 4000+ tx fee which would of sqewed any results. ill be interested to see the data this was based off if possible. https://cdn.discordapp.com/attachments/234305723285110786/255789393971773440/unknown.png
-
@Lexicon Block data you mean?!
http://pools.cryptodex.io/home seams to have issued 4 assets and payed 1000 Burst each. 1 2 3 4 !-)
-
Hello! New Burstminer looked everything over and am quite impressed.
I do want to set up my own pool, and given this is really the only up to date pool program I can find, I want to use this.
But im running into trouble. First, the files I get dont have the batch file for setting everything up.
I have ran npm install, but running node burst-pool throws errors (have to get them from the system itself,Ill post them later)
Any steps with your new files that I may be missing?
Also, in the Pool Fee, the percentages is listed such as 0.00015
Why is that? intuitively 1.5% would be .015 ...
THanks for the assist
-
@Valareos Are you running a wallet? The conf.js is the setup file and yes .00015 s a typo lol try .015 instead.
-
@tross I am running a wallet (downloading blockchain now), ive set up the burst-pool-config file (though Ill go and change the percentages now LOL)
Ill log onto the server here now and post the error im recieving
-
commas are a bane of my existance. was missing one, all works now it looks like




