change SHARE_PERIOD and SPREAD to new values on switch to new share implementation
[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         NEW_SHARE_PERIOD=30, # seconds
15         CHAIN_LENGTH=24*60*60//10, # shares
16         REAL_CHAIN_LENGTH=24*60*60//10, # shares
17         TARGET_LOOKBEHIND=200, # shares
18         SPREAD=3, # blocks
19         NEW_SPREAD=3, # blocks
20         IDENTIFIER='fc70035c7a81bc6f'.decode('hex'),
21         PREFIX='2472ef181efcd37b'.decode('hex'),
22         P2P_PORT=9333,
23         MIN_TARGET=0,
24         MAX_TARGET=2**256//2**32 - 1,
25         PERSIST=True,
26         WORKER_PORT=9332,
27         BOOTSTRAP_ADDRS='forre.st vps.forre.st portals94.ns01.us 54.227.25.14 119.1.96.99 204.10.105.113 76.104.150.248 89.71.151.9 76.114.13.54 72.201.24.106 79.160.2.128 207.244.175.195 168.7.116.243 94.23.215.27 218.54.45.177 5.9.157.150 78.155.217.76 91.154.90.163 173.52.43.124 78.225.49.209 220.135.57.230 169.237.101.193:8335 98.236.74.28 204.19.23.19 98.122.165.84:8338 71.90.88.222 67.168.132.228 193.6.148.18 80.218.174.253 50.43.56.102 68.13.4.106 24.246.31.2 176.31.208.222 1.202.128.218 86.155.135.31 204.237.15.51 5.12.158.126:38007 202.60.68.242 94.19.53.147 65.130.126.82 184.56.21.182 213.112.114.73 218.242.51.246 86.173.200.160 204.15.85.157 37.59.15.50 62.217.124.203 80.87.240.47 198.61.137.12 108.161.134.32 198.154.60.183:10333 71.39.52.34:9335 46.23.72.52:9343 83.143.42.177 192.95.61.149 144.76.17.34 46.65.68.119 188.227.176.66:9336 75.142.155.245:9336 213.67.135.99 76.115.224.177 50.148.193.245 64.53.185.79 80.65.30.137 109.126.14.42 76.84.63.146'.split(' '),
28         ANNOUNCE_CHANNEL='#p2pool',
29         VERSION_CHECK=lambda v: 50700 <= v < 60000 or 60010 <= v < 60100 or 60400 <= v,
30     ),
31     bitcoin_testnet=math.Object(
32         PARENT=networks.nets['bitcoin_testnet'],
33         SHARE_PERIOD=10, # seconds
34         NEW_SHARE_PERIOD=30, # seconds
35         CHAIN_LENGTH=60*60//10, # shares
36         REAL_CHAIN_LENGTH=60*60//10, # shares
37         TARGET_LOOKBEHIND=200, # shares
38         SPREAD=3, # blocks
39         NEW_SPREAD=3, # blocks
40         IDENTIFIER='5fc2be2d4f0d6bfb'.decode('hex'),
41         PREFIX='3f6057a15036f441'.decode('hex'),
42         P2P_PORT=19333,
43         MIN_TARGET=0,
44         MAX_TARGET=2**256//2**32 - 1,
45         PERSIST=False,
46         WORKER_PORT=19332,
47         BOOTSTRAP_ADDRS='forre.st vps.forre.st liteco.in'.split(' '),
48         ANNOUNCE_CHANNEL='#p2pool-alt',
49         VERSION_CHECK=lambda v: 50700 <= v < 60000 or 60010 <= v < 60100 or 60400 <= v,
50     ),
51     
52     litecoin=math.Object(
53         PARENT=networks.nets['litecoin'],
54         SHARE_PERIOD=10, # seconds
55         NEW_SHARE_PERIOD=15, # seconds
56         CHAIN_LENGTH=24*60*60//10, # shares
57         REAL_CHAIN_LENGTH=24*60*60//10, # shares
58         TARGET_LOOKBEHIND=200, # shares
59         SPREAD=12, # blocks
60         NEW_SPREAD=3, # blocks
61         IDENTIFIER='e037d5b8c6923410'.decode('hex'),
62         PREFIX='7208c1a53ef629b0'.decode('hex'),
63         P2P_PORT=9338,
64         MIN_TARGET=0,
65         MAX_TARGET=2**256//2**20 - 1,
66         PERSIST=True,
67         WORKER_PORT=9327,
68         BOOTSTRAP_ADDRS='forre.st vps.forre.st liteco.in 95.211.21.103 37.229.117.57 66.228.48.21 180.169.60.179 112.84.181.102 74.214.62.115 209.141.46.154 78.27.191.182 66.187.70.88 88.190.223.96 78.47.242.59 158.182.39.43 180.177.114.80 216.230.232.35 94.231.56.87 62.38.194.17 82.67.167.12 183.129.157.220 71.19.240.182 216.177.81.88 109.106.0.130 113.10.168.210 218.22.102.12 85.69.35.7:54396 201.52.162.167 95.66.173.110:8331 109.65.171.93 95.243.237.90 208.68.17.67 87.103.197.163 101.1.25.211 144.76.17.34 209.99.52.72 198.23.245.250 46.151.21.226 66.43.209.193 59.127.188.231 178.194.42.169 85.10.35.90 110.175.53.212 98.232.129.196 116.228.192.46 94.251.42.75 195.216.115.94 24.49.138.81 61.158.7.36 213.168.187.27 37.59.10.166 72.44.88.49 98.221.44.200 178.19.104.251 87.198.219.221 85.237.59.130:9310 218.16.251.86 151.236.11.119 94.23.215.27 60.190.203.228 176.31.208.222 46.163.105.201 198.84.186.74 199.175.50.102 188.142.102.15 202.191.108.46 125.65.108.19 15.185.107.232 108.161.131.248 188.116.33.39 78.142.148.62 69.42.217.130 213.110.14.23 185.10.51.18 74.71.113.207 77.89.41.253 69.171.153.219 58.210.42.10 174.107.165.198 50.53.105.6 116.213.73.50 83.150.90.211 210.28.136.11 86.58.41.122 70.63.34.88 78.155.217.76 68.193.128.182 198.199.73.40 193.6.148.18 188.177.188.189 83.109.6.82 204.10.105.113 64.91.214.180 46.4.74.44 98.234.11.149 71.189.207.226'.split(' '),
69         ANNOUNCE_CHANNEL='#p2pool-alt',
70         VERSION_CHECK=lambda v: True,
71     ),
72     litecoin_testnet=math.Object(
73         PARENT=networks.nets['litecoin_testnet'],
74         SHARE_PERIOD=3, # seconds
75         NEW_SHARE_PERIOD=4, # seconds
76         CHAIN_LENGTH=20*60//3, # shares
77         REAL_CHAIN_LENGTH=20*60//3, # shares
78         TARGET_LOOKBEHIND=200, # shares
79         SPREAD=12, # blocks
80         NEW_SPREAD=3, # blocks
81         IDENTIFIER='cca5e24ec6408b1e'.decode('hex'),
82         PREFIX='ad9614f6466a39cf'.decode('hex'),
83         P2P_PORT=19338,
84         MIN_TARGET=2**256//50 - 1,
85         MAX_TARGET=2**256//50 - 1,
86         PERSIST=False,
87         WORKER_PORT=19327,
88         BOOTSTRAP_ADDRS='forre.st vps.forre.st'.split(' '),
89         ANNOUNCE_CHANNEL='#p2pool-alt',
90         VERSION_CHECK=lambda v: True,
91     ),
92
93     terracoin=math.Object(
94         PARENT=networks.nets['terracoin'],
95         SHARE_PERIOD=30, # seconds
96         NEW_SHARE_PERIOD=30, # seconds
97         CHAIN_LENGTH=24*60*60//30, # shares
98         REAL_CHAIN_LENGTH=24*60*60//30, # shares
99         TARGET_LOOKBEHIND=200, # shares
100         SPREAD=15, # blocks
101         NEW_SPREAD=15, # blocks
102         IDENTIFIER='a41b2356a1b7d35e'.decode('hex'),
103         PREFIX='5623b62178d2b8a3'.decode('hex'),
104         P2P_PORT=9323,
105         MIN_TARGET=0,
106         MAX_TARGET=2**256//2**32 - 1,
107         PERSIST=True,
108         WORKER_PORT=9322,
109         BOOTSTRAP_ADDRS='seed1.p2pool.terracoin.org seed2.p2pool.terracoin.org forre.st vps.forre.st 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 94.23.34.145 168.7.116.243 94.174.40.189:9344 89.79.79.195 portals94.ns01.us'.split(' '),
110         ANNOUNCE_CHANNEL='#p2pool-alt',
111         VERSION_CHECK=lambda v: True,
112     ),
113     terracoin_testnet=math.Object(
114         PARENT=networks.nets['terracoin_testnet'],
115         SHARE_PERIOD=30, # seconds
116         NEW_SHARE_PERIOD=30, # seconds
117         CHAIN_LENGTH=60*60//30, # shares
118         REAL_CHAIN_LENGTH=60*60//30, # shares
119         TARGET_LOOKBEHIND=200, # shares
120         SPREAD=15, # blocks
121         NEW_SPREAD=15, # blocks
122         IDENTIFIER='b41b2356a5b7d35d'.decode('hex'),
123         PREFIX='1623b92172d2b8a2'.decode('hex'),
124         P2P_PORT=19323,
125         MIN_TARGET=0,
126         MAX_TARGET=2**256//2**32 - 1,
127         PERSIST=False,
128         WORKER_PORT=19322,
129         BOOTSTRAP_ADDRS='seed1.p2pool.terracoin.org seed2.p2pool.terracoin.org forre.st vps.forre.st'.split(' '),
130         ANNOUNCE_CHANNEL='#p2pool-alt',
131         VERSION_CHECK=lambda v: True,
132     ),
133
134 )
135 for net_name, net in nets.iteritems():
136     net.NAME = net_name