protocol change scheduled for mar 4 and feb 26 for litecoin
[p2pool.git] / p2pool / networks.py
1 from p2pool.bitcoin import networks
2 from p2pool.util import math
3
4 # CHAIN_LENGTH = number of shares back client keeps
5 # REAL_CHAIN_LENGTH = maximum number of shares back client uses to compute payout
6 # REAL_CHAIN_LENGTH must always be <= CHAIN_LENGTH
7 # REAL_CHAIN_LENGTH must be changed in sync with all other clients
8 # changes can be done by changing one, then the other
9
10 nets = dict(
11     bitcoin=math.Object(
12         PARENT=networks.nets['bitcoin'],
13         SHARE_PERIOD=10, # seconds
14         CHAIN_LENGTH=24*60*60//10, # shares
15         REAL_CHAIN_LENGTH=24*60*60//10, # shares
16         TARGET_LOOKBEHIND=200, # shares
17         SPREAD=3, # blocks
18         IDENTIFIER='fc70035c7a81bc6f'.decode('hex'),
19         PREFIX='2472ef181efcd37b'.decode('hex'),
20         P2P_PORT=9333,
21         MAX_TARGET=2**256//2**32 - 1,
22         PERSIST=True,
23         WORKER_PORT=9332,
24         BOOTSTRAP_ADDRS='74.220.242.6:9334 93.97.192.93 66.90.73.83 67.83.108.0 219.84.64.174 24.167.17.248 109.74.195.142 83.211.86.49 89.78.212.44 94.23.34.145 168.7.116.243 72.14.191.28 94.174.40.189:9344'.split(' '),
25         SWITCH_TIME=1330837200, # Sun Mar  4 00:00:00 2012 EST
26     ),
27     bitcoin_testnet=math.Object(
28         PARENT=networks.nets['bitcoin_testnet'],
29         SHARE_PERIOD=10, # seconds
30         CHAIN_LENGTH=24*60*60//10, # shares
31         REAL_CHAIN_LENGTH=24*60*60//10, # shares
32         TARGET_LOOKBEHIND=200, # shares
33         SPREAD=3, # blocks
34         IDENTIFIER='5fc2be2d4f0d6bfb'.decode('hex'),
35         PREFIX='3f6057a15036f441'.decode('hex'),
36         P2P_PORT=19333,
37         MAX_TARGET=2**256//2**32 - 1,
38         PERSIST=False,
39         WORKER_PORT=19332,
40         BOOTSTRAP_ADDRS='72.14.191.28'.split(' '),
41         SWITCH_TIME=1329638400, # Sun Feb 19 03:00:00 2012 EST
42     ),
43     
44     litecoin=math.Object(
45         PARENT=networks.nets['litecoin'],
46         SHARE_PERIOD=10, # seconds
47         CHAIN_LENGTH=24*60*60//10, # shares
48         REAL_CHAIN_LENGTH=24*60*60//10, # shares
49         TARGET_LOOKBEHIND=200, # shares
50         SPREAD=12, # blocks
51         IDENTIFIER='e037d5b8c6923410'.decode('hex'),
52         PREFIX='7208c1a53ef629b0'.decode('hex'),
53         P2P_PORT=9338,
54         MAX_TARGET=2**256//2**20 - 1,
55         PERSIST=True,
56         WORKER_PORT=9327,
57         BOOTSTRAP_ADDRS='76.26.53.101 124.205.120.178 190.195.79.161 173.167.113.73 82.161.65.210 67.83.108.0 78.101.67.239 78.100.161.252 87.58.117.233 78.100.162.223 216.239.45.4 78.101.131.221 72.14.191.28 97.81.163.217 69.126.183.240 219.84.64.174 78.101.119.27 89.211.228.244 178.152.122.30 172.16.0.3 76.26.53.101:51319'.split(' '),
58         SWITCH_TIME=1330232400, # Sun Feb 26 00:00:00 2012 EST
59     ),
60     litecoin_testnet=math.Object(
61         PARENT=networks.nets['litecoin_testnet'],
62         SHARE_PERIOD=10, # seconds
63         CHAIN_LENGTH=24*60*60//10, # shares
64         REAL_CHAIN_LENGTH=24*60*60//10, # shares
65         TARGET_LOOKBEHIND=200, # shares
66         SPREAD=12, # blocks
67         IDENTIFIER='cca5e24ec6408b1e'.decode('hex'),
68         PREFIX='ad9614f6466a39cf'.decode('hex'),
69         P2P_PORT=19338,
70         MAX_TARGET=2**256//2000 - 1,
71         PERSIST=False,
72         WORKER_PORT=19327,
73         BOOTSTRAP_ADDRS='72.14.191.28'.split(' '),
74         SWITCH_TIME=1329627600, # Sun Feb 19 00:00:00 2012 EST
75     ),
76 )
77 for net_name, net in nets.iteritems():
78     net.NAME = net_name