Here is my code for any p2pools that want to connect.
If you have a current DGC p2pool please don't modify that one and change to this code. Instead, start a new p2pool and use a different WORKER_PORT than your current pool (does not have to be 8810) otherwise you will get a bunch of orphans from your miners since they are submitting work based on different parameters. Not sure how long that will last. Perhaps until the miner reconnects or accepts the new settings. Either way it's not pretty.
All connecting P2Pools must have the same parameters.
p2pool/networks.py
digitalcoin=math.Object(
PARENT=networks.nets['digitalcoin'],
SHARE_PERIOD=30, # seconds target spacing
CHAIN_LENGTH=24*60*60//10, # shares
REAL_CHAIN_LENGTH=24*60*60//10, # shares
TARGET_LOOKBEHIND=200, # shares coinbase maturity
SPREAD=90, # blocks
IDENTIFIER='7696CFD6441FB537'.decode('hex'),
PREFIX='4C2530B5ED0E1EB5'.decode('hex'),
P2P_PORT=23396,
MIN_TARGET=0,
MAX_TARGET=2**256//2**20 - 1,
PERSIST=False,
WORKER_PORT=8810,
BOOTSTRAP_ADDRS='dgc.xpool.net'.split(' '),
ANNOUNCE_CHANNEL='#digitalcoin',
VERSION_CHECK=lambda v: True,
),
p2pool/bitcoin/networks.py
digitalcoin=math.Object(
P2P_PREFIX='fbc0b6db'.decode('hex'),
P2P_PORT=7999,
ADDRESS_VERSION=30,
RPC_PORT=7998,
RPC_CHECK=defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
'digitalcoinaddress' in (yield bitcoind.rpc_help()) and
not (yield bitcoind.rpc_getinfo())['testnet']
)),
SUBSIDY_FUNC=lambda height: 1*10000000 >> (height + 1)//1080000,
POW_FUNC=lambda data: pack.IntType(256).unpack(__import__('ltc_scrypt').getPoWHash(data)),
BLOCK_PERIOD=30, # s targetspacing
SYMBOL='DGC',
CONF_FILE_FUNC=lambda: os.path.join(os.path.join(os.environ['APPDATA'], 'digitalcoin') if platform.system() == 'Windows' else os.path.expanduser('~/Library/Application Support/digitalcoin/') if platform.system() == 'Darwin' else os.path.expanduser('~/.digitalcoin'), 'digitalcoin.conf'),
BLOCK_EXPLORER_URL_PREFIX='http://dgc.cryptocoinexplorer.com/block/',
ADDRESS_EXPLORER_URL_PREFIX='http://dgc.cryptocoinexplorer.com/address/',
SANE_TARGET_RANGE=(2**256//100000000 - 1, 2**256//1000 - 1),
DUMB_SCRYPT_DIFF=2**16,
),
p2pool/bitcoin/helper.py
if 'lite' in net.NAME or 'digital' in net.NAME: