Bitcoin Forum
May 13, 2024, 01:15:20 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2] 3 »  All
  Print  
Author Topic: P2Pool Detailed Settings for Altcoins  (Read 12919 times)
CartmanSPC (OP)
Legendary
*
Offline Offline

Activity: 1270
Merit: 1000



View Profile
March 07, 2014, 06:48:40 AM
Last edit: April 01, 2014, 10:23:46 PM by CartmanSPC
 #21

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.

1715606120
Hero Member
*
Offline Offline

Posts: 1715606120

View Profile Personal Message (Offline)

Ignore
1715606120
Reply with quote  #2

1715606120
Report to moderator
The block chain is the main innovation of Bitcoin. It is the first distributed timestamping system.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715606120
Hero Member
*
Offline Offline

Posts: 1715606120

View Profile Personal Message (Offline)

Ignore
1715606120
Reply with quote  #2

1715606120
Report to moderator
1715606120
Hero Member
*
Offline Offline

Posts: 1715606120

View Profile Personal Message (Offline)

Ignore
1715606120
Reply with quote  #2

1715606120
Report to moderator
1715606120
Hero Member
*
Offline Offline

Posts: 1715606120

View Profile Personal Message (Offline)

Ignore
1715606120
Reply with quote  #2

1715606120
Report to moderator
CDarvin81
Member
**
Offline Offline

Activity: 81
Merit: 10


View Profile
March 07, 2014, 07:13:37 AM
Last edit: March 07, 2014, 07:30:16 AM by CDarvin81
 #22

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.  Huh Undecided

Its not the PREFIX i've test it on an other coin, i search the point...
P2PHash
Full Member
***
Offline Offline

Activity: 140
Merit: 100


View Profile
March 07, 2014, 10:14:44 AM
Last edit: March 07, 2014, 10:26:29 AM by P2PHash
 #23

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 Tongue

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?
CartmanSPC (OP)
Legendary
*
Offline Offline

Activity: 1270
Merit: 1000



View Profile
March 09, 2014, 04:16:39 AM
 #24

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 Tongue

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?

I doesn't really...it produces blocks of only 10,000 DOGE when the SUBSIDY_FUNC is actually used. The blockchain has many examples of this happening. Funny thing is others have used that same value for other coins that have random block rewards. I was staging a protest by not running a DOGE node for a while but finally gave in  Roll Eyes

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  Tongue

P2PHash
Full Member
***
Offline Offline

Activity: 140
Merit: 100


View Profile
March 14, 2014, 04:45:42 AM
 #25

Oh ok I see, thanks for the explanaion Smiley

Are the 2 networks.py files the only to modify to get an alt-coin based on scrypt working on p2pool?
eskaer
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
March 15, 2014, 10:56:30 PM
 #26

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?
CartmanSPC (OP)
Legendary
*
Offline Offline

Activity: 1270
Merit: 1000



View Profile
March 28, 2014, 09:58:53 PM
Last edit: March 29, 2014, 12:09:57 AM by CartmanSPC
 #27

Separated CHAIN_LENGTH and REAL_CHAIN_LENGTH into two different sections and expanded on the explanation.

CartmanSPC (OP)
Legendary
*
Offline Offline

Activity: 1270
Merit: 1000



View Profile
April 08, 2014, 12:43:32 AM
 #28

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):
#       if (self.header['previous_block'], self.header['bits']) != (previous_block, bits) and self.header_hash != previous_block and self.peer_addr is not None:
#           return True, 'Block-stale detected! height(%x) < height(%x) or %08x != %08x' % (self.header['previous_block'], previous_block, self.header['bits'].bits, bits.bits)

Same result?

roy7
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


View Profile
April 08, 2014, 02:31:56 AM
 #29

What's the purpose/advantage of removing the block punishing code? That's an area I've never looked at and am clueless about.
CartmanSPC (OP)
Legendary
*
Offline Offline

Activity: 1270
Merit: 1000



View Profile
April 17, 2014, 11:28:14 PM
 #30

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?

guugll
Full Member
***
Offline Offline

Activity: 190
Merit: 100



View Profile WWW
April 18, 2014, 10:32:23 AM
 #31

nice work here  Wink

Brewins
Legendary
*
Offline Offline

Activity: 1120
Merit: 1000



View Profile
May 13, 2014, 09:43:44 AM
 #32

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'...
2014-05-13 05:42:25.871320     ...taking a while. Common reasons for this include all of bitcoind's connection slots being used...
2014-05-13 05:43:21.048088 > Bitcoin connection lost. Reason: Connection was closed cleanly.
infernoman
Legendary
*
Offline Offline

Activity: 964
Merit: 1000



View Profile
June 20, 2014, 05:08:28 AM
Last edit: June 20, 2014, 08:37:00 AM by infernoman
 #33

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 Smiley 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.
m0gliE
Full Member
***
Offline Offline

Activity: 129
Merit: 102


View Profile
June 20, 2014, 11:01:06 PM
 #34

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 Smiley 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
CarlClancy
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
August 18, 2014, 05:27:12 PM
 #35

Great work .

I was wondering is there anybody who can help out with karmacoin settings ?

Chears
Lucky Cris
Sr. Member
****
Offline Offline

Activity: 280
Merit: 250


View Profile
August 18, 2014, 05:41:11 PM
 #36

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

CartmanSPC (OP)
Legendary
*
Offline Offline

Activity: 1270
Merit: 1000



View Profile
August 18, 2014, 09:14:05 PM
 #37

Thanks Lucky Cris. Would you or anyone else happen to know what the other file is?

CarlClancy
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
August 18, 2014, 10:12:44 PM
 #38

It shure would be nice to know where to look for them , i cant find them
Lucky Cris
Sr. Member
****
Offline Offline

Activity: 280
Merit: 250


View Profile
August 18, 2014, 10:35:47 PM
 #39

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.

CartmanSPC (OP)
Legendary
*
Offline Offline

Activity: 1270
Merit: 1000



View Profile
September 19, 2014, 06:46:59 PM
 #40

Great explanation on P2Pools Pay Per Last N Shares (PPLNS) payout system from windpath:

https://bitcointalk.org/index.php?topic=18313.msg8892333#msg8892333


Pages: « 1 [2] 3 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!