Title: P2Pool Detailed Settings for Altcoins Post by: CartmanSPC on February 10, 2014, 02:26:20 AM Since it is so hard to find all the information in one location I thought I would start a thread detailing the changes necessary to make most POW altcoins work with p2pool. Thanks go out to all those who have posted this information elsewhere on the forum.
There are two files that will need to be changed: p2pool/bitcoin/networks.py p2pool/networks.py Will break these down in the next two posts. Over time I will update to reflect new information. Note: When a coin changes it's spec p2pool needs to be changed to match. Note: All nodes must run the same code. If there are any changes [some exceptions] it is recommended to start a new p2pool share chain by changing IDENTIFIER and PREFIX and deleting the p2pool/data folder. I maintain a GitHub that I keep updated of the coins I run on xpool.net (http://xpool.net) here: https://github.com/CartmanSPC/p2pool Here are some other popular repositories: https://github.com/narken/p2pool-altcoins https://github.com/Rav3nPL/p2pool-rav Please use caution when using some of these repositories as they may not have been updated to reflect changed coin specs. Link to the original source by forrestv (BTC, LTC, TRC): https://github.com/forrestv/p2pool Title: Re: P2Pool Detailed Settings for Altcoins Post by: CartmanSPC on February 10, 2014, 02:26:33 AM p2pool/bitcoin/networks.py
This is where the coin specific settings are stored. All the information in this file needs to come from the source code of each coin and be updated if any of that information is changed. For reference here is the section of the code for litecoin: Code: litecoin=math.Object( litecoin=math.Object( Change litecoin to match the name of the altcoin. P2P_PREFIX='fbc0b6db'.decode('hex'), Replace 'fbc0b6db' with the values from main.cpp at pchMessageStart[4] = Remove all '0x' and combine the rest. P2P_PORT=9333, Replace 9333 by looking in protocol.h and finding the 2nd value after GetDefaultPort Some coins may have this in chainparams.cpp at nDefaultPort = ADDRESS_VERSION=48, Look in base58.h and find the value of PUBKEY_ADDRESS RPC_PORT=9332, Look in bitcoinrpc.cpp for GetArg("-rpcport", xxxx), xxxx is the RPC_PORT. Some coins may have this in chainparams.cpp at nRPCPort = RPC_CHECK= ... 'litecoinaddress' Look in bitcoinrpc.cpp after setaccount < If the altcoin has a 'space' between altcoin and address make sure you include the 'space'. You can also find this in rpcdump.cpp after dumpprivkey < SUBSIDY_FUNC=lambda height: 50*100000000 >> (height + 1)//840000, SUBSIDY_FUNC=lambda height: 'block reward' * 'satoshies' >> (height + 1)//'height where block halves'. For 'block reward' look in main.cpp for nSubsidy For 'height where block halves' look in main.cpp for nSubsidy -> nSubsidy >>= (nHeight / If a coin does not have a height where the block halves take out >> (height + 1)//'height where block halves' Comment Pay particular attention to verifying that you have this correct. Not doing so will result in some blocks being rewarded less than their full value. SUBSIDY_FUNC is only used in some instances. Quote Sometimes removed_fees contains None when P2Pool doesn't know the fee associated with a transaction, such as with old versions of *coind as a result of this old bug. Then, P2Pool has to make a conservative estimate of the subsidy using its computed base subsidy and the sum of the fees it does know. I have not seen a solution for coins with a random block reward. For random block reward coins some have suggested that the 'block reward' should be set to a low number as a high number would cause the block to be rejected [try to verify]. To do Determine the correct SUBSIDY_FUNC for coins that decrease by a percentage (WDC, Digibyte). Determine the correct SUBSIDY_FUNC for coins that have a random block reward ( ....more to come. For now here are my dirty notes: BLOCK_PERIOD= ------------------------------------------ target time between blocks <SECONDS> pulled from src/main.cpp (search for "static const int64 nTargetSpacing") ------------------------------------------ SANE_TARGET_RANGE = (2**256//1000000000 - 1, 2**256//1000 - 1) No changes for scrypt. DUMB_SCRYPT_DIFF = 2**16 No changes for scrypt. DUST_THRESHOLD = Note about DUST_TRESHOLD: In an effort to reduce the number of very small dust payments hanging around in peoples wallets, it does this by looking at your expected block payment and adjusted the required share difficulty until this is above its DUST_THRESHOLD value. 0.03e8 = 3000000 = 0.03 in satoshis [someone please verify] 1e8 = 100000000 = 0.00000001 in satoshis [someone please verify] 0.001e8 = 100000 = 0.001 in satoshis [someone please verify] Title: Re: P2Pool Detailed Settings for Altcoins Post by: CartmanSPC on February 10, 2014, 02:26:44 AM p2pool/networks.py
Unlike p2pool/bitcoin/networks.py some of the values here may be subjective and not clearly defined. I will add my own personal comments to each setting. Please feel free to add your own or discuss opposing viewpoints. For reference here is the section of the code for litecoin: Code: litecoin=math.Object( For now here are some of my notes (work in progress): SHARE_PERIOD SHARE_PERIOD sets a target time for how often to provide a share. It will regulating the difficulty to try to hit that target time taking into account the setting in TARGET_LOOKBEHIND. A lower number will have the effect of a lower share difficulty but also result in a larger share chain depending on the value in CHAIN_LENGTH. It may also cause additional orphans in the p2pool share chain as too low a difficulty will mean multiple miners will find shares at the same time. Not necessarily a bad thing as your all working on finding the same block but the winning finder will get the credit for the share. Comment I have seen people say a good rule of thumb is setting this to 1/5 of the altcoin block period. Too high a number will provide a higher diff share favoring higher hash rate miners. Too low a number increases resources (traffic, memory, storage) and orphans from competing miners finding the same shares. I believe setting this to 10 for most altcoins with block times of between 0.5 - 2 minutes is a good compromise. CHAIN_LENGTH CHAIN_LENGTH is the number of shares p2pool keeps before discarding them. It needs to be larger than or equal to REAL_CHAIN_LENGTH (it is normally equal to). One reason it increase this would be to show more data in the recent blocks found list. Example: 24*60*60//10 = 1 day of shares. 7*24*60*60//10 = 7 days of shares. [verification needed] REAL_CHAIN_LENGTH REAL_CHAIN_LENGTH sets the total number of previously found shares to include in the payout when a block is found. A longer chain provides a larger amount of time to find a share (get paid for work). It also contributes to how long you need mine to reach your "full" payout amount. Comment 24*60*60//10 is calculated as follows: (24*60*60)/10 = 8,640 shares are paid when a block is found. Take the value in SHARE_PERIOD and multiply by the number of shares to find how many seconds a share is valid for. For example: 8,640 shares will be paid with a share expected to be found every 10 seconds 8,640 * 10 = 86,400 seconds 86,400 / 60 = 1,440 minutes 1,440 / 60 = 24 hours 24 / 24 = 1 days I have tried various REAL_CHAIN_LENGTH settings but have settled on 24*60*60//10 for the following reasons: Allows a 24 hours period of time for finding of a share and for those shares to be valid based on having a share period of 10 seconds.
TARGET_LOOKBEHIND Determines the number of shares counted for difficulty regulation. Used to determine share difficulty based on the hash rate of p2pool (not individual nodes). Comment With large miners coming and going the difficulty adjustment takes too long with 200 shares on smaller p2pool networks. On larger p2pool networks this is not noticeable but I have resulted to setting this to 20 to accommodate large miners coming and going. SPREAD SPREAD determines how many blocks (max) to pay if a miner finds at lease one share. Does not go beyond the CHAIN_LENGTH/REAL_CHAIN_LENGTH setting. Comment 600/[block time]=x x*3=spread Quote bitcoin SPREAD=3 block every 600 seconds Baseline litecoin SPREAD=12 block every 150 seconds 600/150=4 4x3=12 bbqcoin SPREAD=30 block every 60 seconds 600/60=10 10x3=30 casinocoin SPREAD=60 block every 30 seconds 600/30=20 20x3=60 digitalcoin SPREAD=90 block every 20 seconds 600/20=30 30x3=90 (old spec) digitalcoin SPREAD=45 block every 40 seconds 600/40=15 15x3=45 (new spec) worldcoin SPREAD=120 block every 15 seconds 600/15=40 40x3=120 (old spec) worldcoin SPREAD=60 block every 30 seconds 600/30=20 20x3=60 (new spec) anoncoin SPREAD=10 block every 205 seconds 600/205=2.926829268292683 2.926829268292683x3=8.780487804878049 globalcoin SPREAD=45 block every 40 seconds 600/40=15 15x3=45 dogecoin SPREAD=30 block every 60 seconds 600/60=10 10x3=30 potcoin SPREAD=45 block every 40 seconds 600/40=15 15x3=45 craftcoin SPREAD=6 block every 300 seconds 600/300=2 2x3=6 (old spec) craftcoin SPREAD=30 block every 60 seconds 600/60=10 10x3=30 (new spec) nyancoin SPREAD=30 block every 60 seconds 600/60=10 10x3=30 It is not a hard limit # of blocks, it is the # times the average work required to solve a block. In other words, for a SPREAD=3 if the average time to block is 8 hours, then your shares will fall off the payout after 24 hours. So, if p2pool happens to get lucky and solve 10 blocks in that 24 hour period, your share will be paid for all 10 blocks. -------------------- To generate unique values for IDENTIFIER and PREFIX create a random string of 19 numbers and convert to Hex. I use the windows Programmer Calculator to do the conversion (View menu). Example: 5486237465184378845 = 4C2307E841C11FDD ....more to come! Title: Re: P2Pool Detailed Settings for Altcoind Post by: tvb on February 10, 2014, 08:05:20 AM PERSIST=True
You need to set it to False to bootstrap the sharechain, but once you've done that and have a bootstrap node up, set it to True It prevents anyone else from bootstrapping a sharechain Title: Re: P2Pool Detailed Settings for Altcoind Post by: pt78 on February 10, 2014, 09:12:32 PM Thanks for posting this ,I started working on adding our stuff and quickly realised there was more
to it than I thought there would be .. Title: Re: P2Pool Detailed Settings for Altcoind Post by: Shadow_moon on February 12, 2014, 12:52:09 PM How can I contol what diff p2pool will send to miner?
Title: Re: P2Pool Detailed Settings for Altcoind Post by: roy7 on February 17, 2014, 01:56:42 AM How can I contol what diff p2pool will send to miner? To your own miner? /DIFF will control your share target to gets shares on the chain, +DIFF will control your pseudo share target to report work back even if it's lower than share target. Title: Re: P2Pool Detailed Settings for Altcoins Post by: ruggero on February 21, 2014, 02:16:39 AM Hi CartmanSPC,
first of all thanks for all the work you put in organizing this information about P2Pool. Reading it put me up with most of the knowledge I have of configuring new P2Pools for altcoins. I guess you read the disappointing answer of deeppurple72 on Github (if not go and check it https://github.com/forrestv/p2pool/issues/157#issuecomment-35691652). If you don't mind I'd like to help/contribute to the work you have started, and join forces to figure out how to make as many interesting cryptos as possible with p2pool. And then redistribute the code + the documentation for the good of the community as a whole. If you think it's too much work or you are not interested I will understand. But then I'll try to carry on on my own and of course give you all the credit you deserve! Ciao! Title: Re: P2Pool Detailed Settings for Altcoins Post by: deeppurple72 on February 21, 2014, 02:27:29 AM Hi CartmanSPC, first of all thanks for all the work you put in organizing this information about P2Pool. Reading it put me up with most of the knowledge I have of configuring new P2Pools for altcoins. I guess you read the disappointing answer of deeppurple72 on Github (if not go and check it https://github.com/forrestv/p2pool/issues/157#issuecomment-35691652). If you don't mind I'd like to help/contribute to the work you have started, and join forces to figure out how to make as many interesting cryptos as possible with p2pool. And then redistribute the code + the documentation for the good of the community as a whole. If you think it's too much work or you are not interested I will understand. But then I'll try to carry on on my own and of course give you all the credit you deserve! Ciao! Like I said, I will share with the community soon. 2nd of all, your code was not rewritten, and not being "sold" 3rd because the new coins have low diff, 0 nodes/ 0 peers is actually an advantage 4th I would like to run the new pools for several months and then share with the community the knowledge.... I am not attempting to "sell" some custom modification of p2pool software, so let me make that perfectly clear! There is a forum on bitcointalk.org about "HOW TO MAKE ALT-COINS WORK WITH P2POOL" that has alot of good information. I just happened to discover on my own lots of additional information. When I said "bounty", it referred to information, and NOT p2pool software. Also, you will notice that I did NOT post any wallet addresses, as I did not seriously expect anyone to actually do that. Let me run some pools for a few months so I can make a little something first, then I will glady clue you people in.... Also, you guys were very hard on me when I requested some kind of way to penalize those cloud-miners, pools running into pools, "excessive hashrates" calling my request "ludicrous" and such.... and then you wonder why I suddenly don't feel so friendly? Hmmmm........ Title: Re: P2Pool Detailed Settings for Altcoins Post by: ruggero on February 21, 2014, 02:37:45 AM Please deeppurple72, let's keep this conversation on github. You made your point and I understand it and I accept it.
Of course you are welcome any time to join and contribute in documenting more in detail the internals of the P2Pool configuration. If not now in several months, or whenever it will not be an obstacle to your goals/plans. Title: Re: P2Pool Detailed Settings for Altcoins Post by: CartmanSPC on February 21, 2014, 06:59:32 PM Updated RPC_CHECK= ... 'litecoinaddress' to also include:
You can also find this in rpcdump.cpp after "dumpprivkey <" Thanks deeppurple72 Title: Re: P2Pool Detailed Settings for Altcoins Post by: CartmanSPC on February 23, 2014, 08:34:51 PM Added comments to p2pool/bitcoin/networks.py in SUBSIDY_FUNC and DUST_THRESHOLD sections.
Added coin examples to p2pool/networks.py in the SPREAD section. Added how to generate unique values for IDENTIFIER and PREFIX in p2pool/networks.py. Title: Re: P2Pool Detailed Settings for Altcoins Post by: StakeHunter on February 28, 2014, 04:02:28 PM I want to work on some coins with POW/POS - is it best to use your repo - or use the one developed for NVC?
Title: Re: P2Pool Detailed Settings for Altcoins Post by: CartmanSPC on February 28, 2014, 07:45:34 PM I want to work on some coins with POW/POS - is it best to use your repo - or use the one developed for NVC? Assuming Novacoin is POW/POS then yes...work off of that one. I have no experience with POW/POS coins and P2Pool. Title: Re: P2Pool Detailed Settings for Altcoins Post by: svenp on March 05, 2014, 11:32:28 PM What is MAX_TARGET? I've noticed it's different for various coins but not sure how it's computed.
Title: Re: P2Pool Detailed Settings for Altcoins Post by: OmarG on March 06, 2014, 05:56:09 AM Great resource, will be using this to get P2Pools running for some of the newer coins
Title: Re: P2Pool Detailed Settings for Altcoins Post by: zvs on March 06, 2014, 09:25:41 AM What is MAX_TARGET? I've noticed it's different for various coins but not sure how it's computed. the maximum custom difficulty you can set hmm, nm, i'm not 100% sure about that actually, would have to look at the source again. i think that's what it is, though. btw, for any coin with, say, block times of 2 or 3 minutes or less, you should remove the following in data.py: if best is not None: best_share = self.items[best] punish, punish_reason = best_share.should_punish_reason(previous_block, bits, self, known_txs) if punish > 0: print 'Punishing share for %r! Jumping from %s to %s!' % (punish_reason, format_hash(best), format_hash(best_share.previous_hash)) best = best_share.previous_hash ... first off, these blocks are too fast to have that anyway. not to mention that the vast majority of the time this will be beneficial to your node. if you build off of that old valid *share that's just getting punished because of a new block, all the other clients will follow your chain (as it'll be the longest). this way you don't end up making a share some 3 seconds later and have some slow (or modified, heh heh) node build off the original share Title: Re: P2Pool Detailed Settings for Altcoins Post by: CDarvin81 on March 06, 2014, 08:17:31 PM Hi, i try and try but it don't work.
I do all like in the "tutorial" but i think the identifier and prefix is more... If i change the identifier of an existing coin twisted fall in a loop. And i try to add a simple coin 4 test => 2014-03-06 21:06:47.817990 Current block hash: 1f08c0cb6ff064bf911b3e73756bc553cacb166dbd4552d399ed6c2cf4dd30c8 2014-03-06 21:06:47.818232 Current block height: 74250 2014-03-06 21:06:47.818441 2014-03-06 21:06:47.818728 Testing bitcoind P2P connection to '127.0.0.1:11656'... 2014-03-06 21:06:52.819332 ...taking a while. Common reasons for this include all of bitcoind's connection slots being used... and this is on every coins i try Code: piratecoin=math.Object( and: Code: piratecoin=math.Object( any idea??? chain length and so not editet because try for run only :) thanks 4 help Title: Re: P2Pool Detailed Settings for Altcoins Post by: P2PHash on March 06, 2014, 09:58:35 PM Thanks for this thread! Very helpful but how can you configure a coin with random block reward? I saw on Rav3nPL github settings for dogecoin for example but there's nothing particular, I wonder how it works.
Title: Re: P2Pool Detailed Settings for Altcoins Post by: CartmanSPC on March 07, 2014, 06:44:29 AM Hi, i try and try but it don't work. I do all like in the "tutorial" but i think the identifier and prefix is more... If i change the identifier of an existing coin twisted fall in a loop. And i try to add a simple coin 4 test => 2014-03-06 21:06:47.817990 Current block hash: 1f08c0cb6ff064bf911b3e73756bc553cacb166dbd4552d399ed6c2cf4dd30c8 2014-03-06 21:06:47.818232 Current block height: 74250 2014-03-06 21:06:47.818441 2014-03-06 21:06:47.818728 Testing bitcoind P2P connection to '127.0.0.1:11656'... 2014-03-06 21:06:52.819332 ...taking a while. Common reasons for this include all of bitcoind's connection slots being used... and this is on every coins i try Code: piratecoin=math.Object( and: Code: piratecoin=math.Object( any idea??? chain length and so not editet because try for run only :) thanks 4 help I have not tried this myself but someone said (although I have my doubts) that changing p2pool/networks.py PREFIX= to the same value as p2pool/bitcoin/networks.com P2P_PREFIX= works for some coins that get stuck on 'Testing bitcoind P2P connection'. Again, I seriously doubt it but give it a shot and report back. In your coin example you would change p2pool/networks.py from: PREFIX='adcc0aecfe4c04c9'.decode('hex'), to: PREFIX='ddb9b7ef'.decode('hex'), Heh, if that works I would be shocked ;D Title: Re: P2Pool Detailed Settings for Altcoins Post by: CartmanSPC on March 07, 2014, 06:48:40 AM Thanks for this thread! Very helpful but how can you configure a coin with random block reward? I saw on Rav3nPL github settings for dogecoin for example but there's nothing particular, I wonder how it works. There is a promising new pull request that takes the subsidy function out into a 'module' to return a value. Have been meaning to dig into it as a solution not only for Title: Re: P2Pool Detailed Settings for Altcoins Post by: CDarvin81 on March 07, 2014, 07:13:37 AM Quote I have not tried this myself but someone said (although I have my doubts) that changing p2pool/networks.py PREFIX= to the same value as p2pool/bitcoin/networks.com P2P_PREFIX= works for some coins that get stuck on 'Testing bitcoind P2P connection'. Again, I seriously doubt it but give it a shot and report back. In your coin example you would change p2pool/networks.py from: PREFIX='adcc0aecfe4c04c9'.decode('hex'), to: PREFIX='ddb9b7ef'.decode('hex'), Heh, if that works I would be shocked Grin I've try but it dont work... But there must be a chance to make it there are many p2pools for so much coins. ??? :-\ Its not the PREFIX i've test it on an other coin, i search the point... Title: Re: P2Pool Detailed Settings for Altcoins Post by: P2PHash on March 07, 2014, 10:14:44 AM Thanks for this thread! Very helpful but how can you configure a coin with random block reward? I saw on Rav3nPL github settings for dogecoin for example but there's nothing particular, I wonder how it works. There is a promising new pull request that takes the subsidy function out into a 'module' to return a value. Have been meaning to dig into it as a solution not only for DOGE, etc. but also for WDC and it's decreasing reward. Yeah I saw that for dgb, I've set up a pool with the subsidy function from the py_module made by chaeplin. Sounds promising for other alts :P But if you look at dogecoin in networks.py from Rav3nPL github the subsidy function is: SUBSIDY_FUNC=lambda height: 10000*100000000. How can it works? Title: Re: P2Pool Detailed Settings for Altcoins Post by: CartmanSPC on March 09, 2014, 04:16:39 AM Thanks for this thread! Very helpful but how can you configure a coin with random block reward? I saw on Rav3nPL github settings for dogecoin for example but there's nothing particular, I wonder how it works. There is a promising new pull request that takes the subsidy function out into a 'module' to return a value. Have been meaning to dig into it as a solution not only for DOGE, etc. but also for WDC and it's decreasing reward. Yeah I saw that for dgb, I've set up a pool with the subsidy function from the py_module made by chaeplin. Sounds promising for other alts :P But if you look at dogecoin in networks.py from Rav3nPL github the subsidy function is: SUBSIDY_FUNC=lambda height: 10000*100000000. How can it works? Fortunately changing SUBIDY_FUNC is not a value that requires a new fork of the coins p2pool sharechain so it can be done node by node whenever they like. I think the DGB p2pool started a new fork (changing ident/prefix) not knowing this :P Title: Re: P2Pool Detailed Settings for Altcoins Post by: P2PHash on March 14, 2014, 04:45:42 AM Oh ok I see, thanks for the explanaion :)
Are the 2 networks.py files the only to modify to get an alt-coin based on scrypt working on p2pool? Title: Re: P2Pool Detailed Settings for Altcoins Post by: eskaer on March 15, 2014, 10:56:30 PM Hey i made new altcoin and i want to run a p2pool with it.
Source for coin : http://github.com/skatecoin/skatecoin i set in coin P2Port to: 21607 RPCport to : 21606 Now i download p2pool-rav and edit p2pool/networks.py and p2pool/bitcoin/networks.py .skatecoin/src/skatecoin.conf rpcuser=skatecoinrpc rpcpassword=my password listen=1 addnode=91.230.204.187 server=1 daemon=1 rpcallowip=77.45.47.126 rpcallowip=91.230.205.78 rpcport=21606 port=21607 rpcallowip=127.0.0.1 rpcallowip=*.*.*.* Here is: skatecoin=math.Object( PARENT=networks.nets['skatecoin'], SHARE_PERIOD=25, # seconds target spacing CHAIN_LENGTH=24*60*60//25, # shares REAL_CHAIN_LENGTH=24*60*60//25, # shares TARGET_LOOKBEHIND=25, # shares coinbase maturity SPREAD=20, # blocks IDENTIFIER='cacacacae0e0e0ee'.decode('hex'), PREFIX='fefeefcf0e0f3434'.decode('hex'), P2P_PORT=31606, MIN_TARGET=0, MAX_TARGET=2**256//2**20 - 1, PERSIST=False, WORKER_PORT=31707, BOOTSTRAP_ADDRS=''.split(' '), ANNOUNCE_CHANNEL='#p2pool-alt', VERSION_CHECK=lambda v: True, ), AND.. skatecoin=math.Object( P2P_PREFIX='fcd9b7dd'.decode('hex'), P2P_PORT=21607, ADDRESS_VERSION=25, RPC_PORT=21606, RPC_CHECK=defer.inlineCallbacks(lambda bitcoind: defer.returnValue( 'skatecoinaddress' in (yield bitcoind.rpc_help()) and not (yield bitcoind.rpc_getinfo())['testnet'] )), SUBSIDY_FUNC=lambda height: 25*100000000, POW_FUNC=lambda data: pack.IntType(256).unpack(__import__('ltc_scrypt').getPoWHash(data)), BLOCK_PERIOD=90, # s SYMBOL='SK8', CONF_FILE_FUNC=lambda: os.path.join(os.path.join(os.environ['APPDATA'], 'SkateCoin') if platform.system() == 'Windows' else os.path.expanduser('~/Library/Application Support/SkateCoin/') if platform.system() == 'Darwin' else os.path.expanduser('~/.skatecoin'), 'skatecoin.conf'), BLOCK_EXPLORER_URL_PREFIX='http://skatechain.info/block/', ADDRESS_EXPLORER_URL_PREFIX='http://skatechain.info/address/', TX_EXPLORER_URL_PREFIX='http://skatechain.info/tx/', SANE_TARGET_RANGE=(2**256//1000000000 - 1, 2**256//1000 - 1), DUMB_SCRYPT_DIFF=2**16, DUST_THRESHOLD=0.03e8, Now i run p2pool python ./p2pool-rav/run_p2pool.py --net skatecoin -a BGysxf56z6cX1e68EoRv8fzwa8J6V1HLoQ -f 1 -w 31707 --give-author 0 --bitcoind-p2p-port 21607 --bitcoind-rpc-port 2106 skatecoinrpc my rpc pass from skatecoin.conf Output: 2014-03-15 18:55:21.413497 p2pool (version 13.3-247-g2ffa4af-dirty) 2014-03-15 18:55:21.413580 2014-03-15 18:55:21.413636 Testing bitcoind RPC connection to 'http://127.0.0.1:21606/' with username 'skatecoinrpc'... 2014-03-15 18:55:21.416764 > Check failed! Make sure that you're connected to the right bitcoind with --bitcoind-rpc-port! 2014-03-15 18:55:22.419917 > Check failed! Make sure that you're connected to the right bitcoind with --bitcoind-rpc-port! 2014-03-15 18:55:23.422838 > Check failed! Make sure that you're connected to the right bitcoind with --bitcoind-rpc-port! Tell me please what i'm doing wrong? Title: Re: P2Pool Detailed Settings for Altcoins Post by: CartmanSPC on March 28, 2014, 09:58:53 PM Separated CHAIN_LENGTH and REAL_CHAIN_LENGTH into two different sections and expanded on the explanation.
Title: Re: P2Pool Detailed Settings for Altcoins Post by: CartmanSPC on April 08, 2014, 12:43:32 AM What is MAX_TARGET? I've noticed it's different for various coins but not sure how it's computed. the maximum custom difficulty you can set hmm, nm, i'm not 100% sure about that actually, would have to look at the source again. i think that's what it is, though. btw, for any coin with, say, block times of 2 or 3 minutes or less, you should remove the following in data.py: if best is not None: best_share = self.items[best] punish, punish_reason = best_share.should_punish_reason(previous_block, bits, self, known_txs) if punish > 0: print 'Punishing share for %r! Jumping from %s to %s!' % (punish_reason, format_hash(best), format_hash(best_share.previous_hash)) best = best_share.previous_hash ... first off, these blocks are too fast to have that anyway. not to mention that the vast majority of the time this will be beneficial to your node. if you build off of that old valid *share that's just getting punished because of a new block, all the other clients will follow your chain (as it'll be the longest). this way you don't end up making a share some 3 seconds later and have some slow (or modified, heh heh) node build off the original share In ravs repo it does this with the following: Code: def should_punish_reason(self, previous_block, bits, tracker, known_txs): Same result? Title: Re: P2Pool Detailed Settings for Altcoins Post by: roy7 on April 08, 2014, 02:31:56 AM What's the purpose/advantage of removing the block punishing code? That's an area I've never looked at and am clueless about.
Title: Re: P2Pool Detailed Settings for Altcoins Post by: CartmanSPC on April 17, 2014, 11:28:14 PM What's the purpose/advantage of removing the block punishing code? That's an area I've never looked at and am clueless about. I think that it hurts the nodes that don't have it vs the ones that do? Title: Re: P2Pool Detailed Settings for Altcoins Post by: guugll on April 18, 2014, 10:32:23 AM nice work here ;)
Title: Re: P2Pool Detailed Settings for Altcoins Post by: Brewins on May 13, 2014, 09:43:44 AM Sorry for the bump, just didnt see it neccessary to make a new thread;
Did anyone find a solution for getting stuck on Code: 2014-05-13 05:42:20.871001 Testing bitcoind P2P connection to '127.0.0.1:1217'... Title: Re: P2Pool Detailed Settings for Altcoins Post by: infernoman on June 20, 2014, 05:08:28 AM hey i was looking for a bit of help with my fuelcoin p2pool just wanted to make sure i had everything setup correctly. i am connected and have everything going :) so that is no longer an issue. i just want to make sure my values are correct.
p2pool file fuelcoin=math.Object( PARENT=networks.nets['fuelcoin'], SHARE_PERIOD=6, # seconds CHAIN_LENGTH=6*60*60//10, # shares REAL_CHAIN_LENGTH=7*24*60*60//10, # shares TARGET_LOOKBEHIND=200, # shares SPREAD=60, # blocks IDENTIFIER='fc70035c7a81bc6f'.decode('hex'), PREFIX='2472ef181efcd37b'.decode('hex'), P2P_PORT=9111, MIN_TARGET=0, MAX_TARGET=2**256//2**32 - 1, PERSIST=False, WORKER_PORT=9222, BOOTSTRAP_ADDRS='98.174.25.28 173.230.51.38 173.230.49.15 173.79.134.197'.split(' '), ANNOUNCE_CHANNEL='#p2pool', VERSION_CHECK=lambda v: True, VERSION_WARNING=lambda v: 'Upgrade Fuelcoin to >=0.8.5!' if v < 80500 else None, bitcoin file fuelcoin=math.Object( P2P_PREFIX='f5d3a3d0'.decode('hex'), P2P_PORT=9111, ADDRESS_VERSION=36, RPC_PORT=9222, RPC_CHECK=defer.inlineCallbacks(lambda bitcoind: defer.returnValue( 'FuelCoinaddress' in (yield bitcoind.rpc_help()) and not (yield bitcoind.rpc_getinfo())['testnet'] )), SUBSIDY_FUNC=lambda height: 50*100000000 >> (height + 1)//840000, POW_FUNC=data.hash256, BLOCK_PERIOD=30, # s SYMBOL='FUEL', CONF_FILE_FUNC=lambda: os.path.join(os.path.join(os.environ['APPDATA'], 'Fuelcoin') if platform.system() == 'Windows' else os.path.expanduser('~/Library/Application Support/Fuelcoin/') if platform.system() == 'Darwin' else os.path.expanduser('~/.fuelcoin'), 'fuelcoin.conf'), BLOCK_EXPLORER_URL_PREFIX='http://explorer.litecoin.net/block/', ADDRESS_EXPLORER_URL_PREFIX='http://explorer.litecoin.net/address/', TX_EXPLORER_URL_PREFIX='http://explorer.litecoin.net/tx/', SANE_TARGET_RANGE=(2**256//1000000000 - 1, 2**256//1000 - 1), DUMB_SCRYPT_DIFF=1, DUST_THRESHOLD=0.03e8, ), I am also having problems with the pool showing blocks that were not mined by any of the miners on the pool. and the pool hashrate has continued to rise past 3th/s when i only have 1th/s on it. the address is http://99.236.215.227:9222/static/ it seems to be a bit more accurate now. but still not great ive changed the settings around a bit. for the share per second trying to play with it. Title: Re: P2Pool Detailed Settings for Altcoins Post by: m0gliE on June 20, 2014, 11:01:06 PM hey i was looking for a bit of help with my fuelcoin p2pool just wanted to make sure i had everything setup correctly. i am connected and have everything going :) so that is no longer an issue. i just want to make sure my values are correct. Hey, I went ahead and edited the config files to suit FuelCoin, there were a few changes that needed to be made. I've posted the code up on pastebin if you'd like to have a look. FuelCoin recommended settings for P2Pool nodes; http://pastebin.com/PQTWdjcP Title: Re: P2Pool Detailed Settings for Altcoins Post by: CarlClancy on August 18, 2014, 05:27:12 PM Great work .
I was wondering is there anybody who can help out with karmacoin settings ? Chears Title: Re: P2Pool Detailed Settings for Altcoins Post by: Lucky Cris on August 18, 2014, 05:41:11 PM OP, just wanted to point out that some of these coins put the pchmeassagestart hex value in another file; so if it's not in the main.cpp it could be in another. I don't know if it has any significance, but figure I'd at least advise so you can update the OP
Title: Re: P2Pool Detailed Settings for Altcoins Post by: CartmanSPC on August 18, 2014, 09:14:05 PM Thanks Lucky Cris. Would you or anyone else happen to know what the other file is?
Title: Re: P2Pool Detailed Settings for Altcoins Post by: CarlClancy on August 18, 2014, 10:12:44 PM It shure would be nice to know where to look for them , i cant find them
Title: Re: P2Pool Detailed Settings for Altcoins Post by: Lucky Cris on August 18, 2014, 10:35:47 PM Thanks Lucky Cris. Would you or anyone else happen to know what the other file is? A couple of coins had it listed in the protocol.cpp file. But I was told they can technically be in any... I guess it depends on which coin is cloned? But it seems the Darkcoin clones uses prototocol.cpp. Title: Re: P2Pool Detailed Settings for Altcoins Post by: CartmanSPC on September 19, 2014, 06:46:59 PM Great explanation on P2Pools Pay Per Last N Shares (PPLNS) payout system from windpath:
https://bitcointalk.org/index.php?topic=18313.msg8892333#msg8892333 Title: Re: P2Pool Detailed Settings for Altcoins Post by: scratchy on October 18, 2014, 06:42:49 PM Hey,
i got trouble running a new fresh p2pool node. Got everything up and running and it seems its working... P2Pool nodes connect to each other.. stratum works everything seems fine.. Exept there p2pool nodes doesnt generate any shares.. I tried to bootstrap the shares with persist = False but it doesnt work. Also i got a lot of spam of: Code: Worker asdgasd submitted share with hash > target: Any idears how to properly bootstrap? Does the bootstrapping node may have to find a Block first? Any suggestions would be nice :) Title: Re: P2Pool Detailed Settings for Altcoins Post by: CartmanSPC on October 20, 2014, 06:02:50 PM A block should not need to be found. Which p2pool is this for? Link?
Title: Re: P2Pool Detailed Settings for Altcoins Post by: scratchy on October 20, 2014, 09:22:11 PM i tried different ones.
for example this one: https://github.com/forrestv/p2pool I also tried to "bootstrap" on bitcoin testnetwork. (deleted all bootstrap addresses), launched with persist=false and changed identifiers but the sharechain just stays empty. i used p2pool_run.py --testnet Everything went fine, even with connected nodes, but i the share chain is still empty .. So overall: im unable to start the initial chain Title: Re: P2Pool Detailed Settings for Altcoins Post by: scratchy on October 21, 2014, 08:46:12 AM Tried also your fork:
https://github.com/CartmanSPC/p2pool its not possible to deploy it on Bitcoin Testnet network =(. Share chain stays empty .. Title: Re: P2Pool Detailed Settings for Altcoins Post by: mannyg on October 25, 2014, 03:02:52 PM Great info found here, it has helped me get rolling on creating the new files for OSC - OpenSourceCoin. (ocoin) https://github.com/bryceweiner/OSC/tree/master/src (https://github.com/bryceweiner/OSC/tree/master/src)
I'd like to run a "solo" P2Pool with my AntMiner S1's mining OSC, but I have not been able to find a fork that had anything for ocoin. Here is what I have so far: p2pool\networks\ocoin.py : Code: from p2pool.bitcoin import networks p2pool\bitcoin\networks\ocoin.py : Code: import os \AppData\Roaming\Ocoin\ocoin.conf : Code: server=1 The P2Pool starts and connects, but scrolls a few error messages highlighted in bold below: (I've gone ahead and removed a lot of the repetitive errors) Code: C:\Users\Manny\Downloads\p2pool-rav-master\p2pool-rav-master>run_p2pool.py --net ocoin --give-author 0.0 --no-bugreport --disable-upnp --address thWXobKDyMGVmK4UHwDdhgJSo1qX93ZTT The block reward structure is as follows (It is now currently paying 12.50 OSC per block): Code: // miner's coin base reward based on nBits Any help would be greatly appreciated. FYI, I used the files from another coin which works fine (XJO - Joulecoin) as a template to make the files for OSC. Thanks! Title: Re: P2Pool Detailed Settings for Altcoins Post by: eule on February 02, 2015, 10:30:04 AM Little question: I'd like to host a p2pool node for XMG. XMG uses the M7M algo, so I guess there are some other modifications necessary, not just the values in the networks.py?
Title: Re: P2Pool Detailed Settings for Altcoins Post by: CartmanSPC on February 02, 2015, 07:52:05 PM Little question: I'd like to host a p2pool node for XMG. XMG uses the M7M algo, so I guess there are some other modifications necessary, not just the values in the networks.py? You are correct. You would have to compile in support for that algo. Can't help much more as I have personally not tried compiling in anything other than SHA and Scrypt. I know there is support for x11 and possibly others but have never looked into any of them. Title: Re: P2Pool Detailed Settings for Altcoins Post by: jawitech on February 02, 2015, 08:10:12 PM Little question: I'd like to host a p2pool node for XMG. XMG uses the M7M algo, so I guess there are some other modifications necessary, not just the values in the networks.py? You are correct. You would have to compile in support for that algo. Can't help much more as I have personally not tried compiling in anything other than SHA and Scrypt. I know there is support for x11 and possibly others but have never looked into any of them. Would you be interested in checking it out? The Magi (XMG) developer is interested in P2Pool but we need someone who has experience with. If you are interested (I guess bounty would be available), please contact Joe Lao https://bitcointalk.org/index.php?action=profile;u=182342 Title: Re: P2Pool Detailed Settings for Altcoins Post by: pfreak on September 22, 2021, 07:58:02 PM can anyone help me to create p2pool for Ravencoin?
Title: Re: P2Pool Detailed Settings for Altcoins Post by: miner29 on September 22, 2021, 08:34:51 PM can anyone help me to create p2pool for Ravencoin? Did you bother to look at the last year this thread was posted too.... February 2015. It is dead. |