Bitcoin Forum

Alternate cryptocurrencies => Altcoin Discussion => Topic started by: guugll on September 16, 2013, 12:23:51 PM



Title: will pay for p2pool development.
Post by: guugll on September 16, 2013, 12:23:51 PM
Hi all, searching skilled p2pool developers.
send PM if you are interested.
 8)


Title: Re: will pay for p2pool development.
Post by: sudo23 on September 16, 2013, 02:20:54 PM
hi
how much do you want to pay for dev p2pool?


Title: Re: will pay for p2pool development.
Post by: guugll on September 16, 2013, 02:26:40 PM
my idea was 5-10 LTC


Title: Re: will pay for p2pool development.
Post by: markm on September 16, 2013, 02:32:15 PM
So maybe 15 minutes to 30 minutes work or thereabouts?

-MarkM-


Title: Re: will pay for p2pool development.
Post by: guugll on September 16, 2013, 03:05:41 PM
yes exactly - i have already prepared the modifications but i still need to fix the payout.
skilled dev. could make it in 30min. i believe, maybe even less - its just me beeing an noob so...


Title: Re: will pay for p2pool development.
Post by: guugll on September 17, 2013, 09:02:39 AM
anybody here able to work on p2pool and asking some reasonable bounty for that.

i have done most of the networks.py modifications and used the NVC or YAC p2pool as source.

here is the test pool: http://www.guugll.eu:15327/static/

everythink works except payout... so p2pool gods - how much? and how long?


Title: Re: will pay for p2pool development.
Post by: guugll on September 17, 2013, 02:01:48 PM
so far done:

p2pool/networks.py

Code:
Orbitcoin=math.Object(
        PARENT=networks.nets['Orbitcoin'],
        SHARE_PERIOD=30, # seconds
        CHAIN_LENGTH=24*60*60//30, # shares
        REAL_CHAIN_LENGTH=24*60*60//30, # shares
        TARGET_LOOKBEHIND=200, # shares
        SPREAD=60, # blocks
        IDENTIFIER='4f72626974636f69'.decode('hex'),
#IDENTIFIER='e037d5b8c6923510'.decode('hex'),
        PREFIX='4f524249544f5242'.decode('hex'),
#PREFIX='7208c1a53ef649b0'.decode('hex'),
P2P_PORT=25298,#p2pool p2p port
        MIN_TARGET=0,
        MAX_TARGET=2**256//2**20 - 1,
        PERSIST=False,
        WORKER_PORT=25299,
        BOOTSTRAP_ADDRS='109.157.228.106 69.85.86.195 184.155.117.207 '.split(' '),
        ANNOUNCE_CHANNEL='#p2pool-alt',
        VERSION_CHECK=lambda v: True,
    ),

p2pool/bitcoin/networks.py

Code:
def get_subsidy(nCap, nMaxSubsidy, bnTarget):           # NVC/YAC/BTB 
    bnLowerBound = 0.01
    bnUpperBound = bnSubsidyLimit = nMaxSubsidy
    bnTargetLimit = 0x00000fffff000000000000000000000000000000000000000000000000000000

    while bnLowerBound + 0.01 <= bnUpperBound:
        bnMidValue = (bnLowerBound + bnUpperBound) / 2
        if pow(bnMidValue, nCap) * bnTargetLimit > pow(bnSubsidyLimit, nCap) * bnTarget:
            bnUpperBound = bnMidValue
        else:
            bnLowerBound = bnMidValue

    nSubsidy = round(bnMidValue, 2)

    if nSubsidy > bnMidValue:
        nSubsidy = nSubsidy - 0.01

    return int(nSubsidy * 1000000)

#Proof-of-Work block reward can be calculated using formula nBlockReward = 100 / (nMaxTarget / nCurrentTarget) ^ (1/6).
#It means, that reward cut a half every 64x multiply of difficulty.
#Proof-of-Stake block reward based on CoinAge parameter and Proof-of-Stake difficulty. Interest can be calculated using formula nRewardCoinYear = 1 / (nMaxPoSTarget / nCurrentPoSTarget) ^ (1/6).
#It means, that interest starts from 100% per year and cut a half every 64x multiply of difficulty.

#def get_subsidy(nCap, nMaxSubsidy, bnTarget):         # CMC
# #nSubsidy=3.5#add by ComosCoin-DEV
#    return int(3.5 * 1000000)

#def get_subsidy(nCap, nMaxSubsidy, bnTarget): # ORB this makes correct block value
#    return int(.25 * 31000000)

nets = dict(
    Orbitcoin=math.Object(
        P2P_PREFIX='e4efdbfd'.decode('hex'),#
        P2P_PORT=15298,#
        ADDRESS_VERSION=115,#
        RPC_PORT=15299,#
        RPC_CHECK=defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
            'Orbitcoinaddress' in (yield bitcoind.rpc_help()) and
            not (yield bitcoind.rpc_getinfo())['testnet']
        )),
        SUBSIDY_FUNC=lambda target: get_subsidy(6, 100, target), # NVC
        #SUBSIDY_FUNC=lambda target: get_subsidy(6, 1, target), # BTB
#SUBSIDY_FUNC=lambda height: .25*31000000 >> (height + 1)//1051200, # ORB [notworking]
BLOCKHASH_FUNC=lambda data: pack.IntType(256).unpack(__import__('ltc_scrypt').getPoWHash(data)),
        POW_FUNC=lambda data: pack.IntType(256).unpack(__import__('ltc_scrypt').getPoWHash(data)),
        BLOCK_PERIOD=30, # s
        SYMBOL='ORB',
        CONF_FILE_FUNC=lambda: os.path.join(os.path.join(os.environ['APPDATA'], 'Orbitcoin') if platform.system() == 'Windows' else os.path.expanduser('~/Library/Application Support/Orbitcoin/') if platform.system() == 'Darwin' else os.path.expanduser('~/.Orbitcoin'), 'Orbitcoin.conf'),
        BLOCK_EXPLORER_URL_PREFIX='http://orb.blockexplorer.com/block/',
        ADDRESS_EXPLORER_URL_PREFIX='http://orb.blockexplorer.com/address/',
        SANE_TARGET_RANGE=(2**256//2**20//1000 - 1, 2**256//2**20 - 1),
    ),

this code runs here http://www.guugll.eu:15327/static/

block crawler: http://orbitcoin.kicks-ass.net/block_crawler.php

coin info: https://cryptocointalk.com/topic/927-orbitcoin-orb-official-release-thread/

you can have a look also here maybe i am overlooking something:

http://www.guugll.eu:15327/static/share.html#00000c0ab78a30fb9aa64d49c1d57de1b15e68612521c0ae398f56bcc501cb77

http://orbitcoin.kicks-ass.net/block_crawler.php

so anybody interested to help me?


Title: Re: will pay for p2pool development.
Post by: guugll on September 17, 2013, 04:32:47 PM
bump


Title: Re: will pay for p2pool development.
Post by: guugll on September 18, 2013, 11:25:08 AM
nobody?
just let me know how much - or is it so hard to fix???
 ???


Title: Re: will pay for p2pool development.
Post by: meta.p02 on September 18, 2013, 11:34:08 AM
PM'd you. I can try to help.


Title: Re: will pay for p2pool development.
Post by: guugll on September 18, 2013, 01:51:14 PM
thx - so we have a move here - will update later.
i think its interesting to move forward with the alt-coins p2pool development.
i will try to look at the PoS + PoS&PoW versions - will see how this will end up - still do not get the PoS+PoW stuff so need to learn a bit more...

still looking for more people to join the forces  ;)


Title: Re: will pay for p2pool development.
Post by: guugll on September 19, 2013, 06:17:15 PM
testing this code:

Code:
def get_subsidy(nCap, nMaxSubsidy, bnTarget):
    return int(.25 * 31000000)



nets = dict(
Orbitcoin=math.Object(
        P2P_PREFIX='e4efdbfd'.decode('hex'),
        P2P_PORT=15298,
        ADDRESS_VERSION=115,
        RPC_PORT=15299,
        RPC_CHECK=defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
            'Orbitcoinaddress' in (yield bitcoind.rpc_help()) and
            not (yield bitcoind.rpc_getinfo())['testnet']
        )),
        SUBSIDY_FUNC=lambda target: get_subsidy(1, 1, target),
        BLOCKHASH_FUNC=lambda data: pack.IntType(256).unpack(__import__('ltc_scrypt').getPoWHash(data)),
        POW_FUNC=lambda data: pack.IntType(256).unpack(__import__('ltc_scrypt').getPoWHash(data)),
        BLOCK_PERIOD=30, # s
        SYMBOL='ORB',
        CONF_FILE_FUNC=lambda: os.path.join(os.path.join(os.environ['APPDATA'], 'Orbitcoin') if platform.system() == 'Windows' else os.path.expanduser('~/Library/Application Support/Orbitcoin/') if platform.system() == 'Darwin' else os.path.expanduser('~/.Orbitcoin'), 'Orbitcoin.conf'),
        BLOCK_EXPLORER_URL_PREFIX='http://orb.blockexplorer.com/block/',
        ADDRESS_EXPLORER_URL_PREFIX='http://orb.blockexplorer.com/address/',
        SANE_TARGET_RANGE=(2**256//2**20//1000 - 1, 2**256//2**20 - 1),
    ),

having this error:

2013-09-19 18:51:11.835609 P2Pool: 700 shares in chain (700 verified/700 total) Peers: 0 (0 incoming)
2013-09-19 18:51:11.840206  Local: 131kH/s in last 10.0 minutes Local dead on arrival: ~0.0% (0-5%) Expected time to share: 28.0 seconds
2013-09-19 18:51:11.841260  Shares: 79 (0 orphan, 0 dead) Stale rate: ~0.0% (0-5%) Efficiency: ~100.0% (95-100%) Current payout: 0.0106 ORB
2013-09-19 18:51:11.842207  Pool: 118kH/s Stale rate: 0.0% Expected time to block: 51.4 minutes
2013-09-19 18:51:13.766930 RECV tx 020000007d2b3b520fb8950f4e3a315f2d3f86c4936ec6acee0672d82c133143cfa41f2e30a6511 9a9000000004a49304602210085e4dea29d7aa4e2b7a5710e60d97d7b495ea002323e42bf821077 31f92522a80221008ef62cbfa31644e80fd372ddf5...
2013-09-19 18:51:13.775933 > Error handling message: (see RECV line)
2013-09-19 18:51:13.779800 > Traceback (most recent call last):
2013-09-19 18:51:13.780828 >   File "/usr/lib/python2.7/dist-packages/twisted/internet/posixbase.py", line 586, in _doReadOrWrite
2013-09-19 18:51:13.781747 >     why = selectable.doRead()
2013-09-19 18:51:13.782717 >   File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 199, in doRead
2013-09-19 18:51:13.783661 >     rval = self.protocol.dataReceived(data)
2013-09-19 18:51:13.784535 >   File "/home/p2pool/p2pool/util/p2protocol.py", line 26, in dataReceived
2013-09-19 18:51:13.785411 >     self.dataReceived2(data)
2013-09-19 18:51:13.785639 >   File "/home/p2pool/p2pool/util/datachunker.py", line 40, in _DataChunker
2013-09-19 18:51:13.786424 >     wants = receiver.send(buf.get(wants))
2013-09-19 18:51:13.786698 > --- <exception caught here> ---
2013-09-19 18:51:13.786949 >   File "/home/p2pool/p2pool/util/p2protocol.py", line 54, in dataReceiver
2013-09-19 18:51:13.787204 >     self.packetReceived(command, type_.unpack(payload))
2013-09-19 18:51:13.787456 >   File "/home/p2pool/p2pool/util/pack.py", line 63, in unpack
2013-09-19 18:51:13.790196 >     obj = self._unpack(data)
2013-09-19 18:51:13.790413 >   File "/home/p2pool/p2pool/util/pack.py", line 47, in _unpack
2013-09-19 18:51:13.790651 >     raise LateEnd()
2013-09-19 18:51:13.790864 > p2pool.util.pack.LateEnd:


Title: Re: will pay for p2pool development.
Post by: guugll on September 20, 2013, 06:50:09 AM
thx meta.p02 for cooperation.

i hope more and more p2pool goods will help and stop lafing about my development...
 8)


Title: Re: will pay for p2pool development.
Post by: meta.p02 on September 20, 2013, 08:21:52 AM
The error comes from these two lines:

Code:
def _unpack(self, data):
        obj, (data2, pos) = self.read((data, 0))
       
        assert data2 is data
       
        if pos != len(data):
            raise LateEnd()
       
        return obj

def unpack(self, data):
        obj = self._unpack(data)
       
        if p2pool.DEBUG:
            if self._pack(obj) != data:
                raise AssertionError()
       
        return obj

def dataReceiver(self):
        while True:
            start = ''
            while start != self._message_prefix:
                start = (start + (yield 1))[-len(self._message_prefix):]
           
            command = (yield 12).rstrip('\0')
            length, = struct.unpack('<I', (yield 4))
            if length > self._max_payload_length:
                print 'length too large'
                continue
            checksum = yield 4
            payload = yield length
           
            if hashlib.sha256(hashlib.sha256(payload).digest()).digest()[:4] != checksum:
                print 'invalid hash for', self.transport.getPeer().host, repr(command), length, checksum.encode('hex'), hashlib.sha256(hashlib.sha256(payload).digest()).digest()[:4].encode('hex'), payload.encode('hex')
                self.badPeerHappened()
                continue
           
            type_ = getattr(self, 'message_' + command, None)
            if type_ is None:
                if p2pool.DEBUG:
                    print 'no type for', repr(command)
                continue
           
            try:
                self.packetReceived(command, type_.unpack(payload))
            except:
                print 'RECV', command, payload[:100].encode('hex') + ('...' if len(payload) > 100 else '')
                log.err(None, 'Error handling message: (see RECV line)')
                self.transport.loseConnection()

I'm not very familiar with Python, but what this appears to do is to check that read() consumes all the data. What data is the payload?  Also: type_ is getattr(self,'message_tx',None). What is the definition of message_tx?


Title: Re: will pay for p2pool development.
Post by: guugll on September 21, 2013, 08:17:15 AM
ok so i wrote you an PM how to make this faster because now i do not have that error and it still does not payout.

if any p2pool gods or python gods see this and would like to help us just PM or write here and we can move on together - now its just me and meta.002


Title: Re: will pay for p2pool development.
Post by: guugll on September 23, 2013, 09:43:27 AM
still working on this one - having correct transactions made by the pool but still no payout.