Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# `vote_status.py`
Script en Python que reporta el estado de una votación.
Este es un _script_ escrito en Python, que requiere Python 3 y la biblioteca web3 (que puede instalarse con `pip`).
Para funcionar requiere conocer el directorio donde está el _socket_ `geth.ipc` (asume que es `${BFANETWORKDIR}/node/geth.ipc` o, en su defecto `~/bfa/network/node/geth.ipc`), y el puerto RPC (asume que es el 8545). Ambos valores pueden especificarse en la línea de comandos.
El control de errores es nulo. Cualquier error de conexíón con `geth` producirá un _stacktrace_.
```
bfa@bootnode:~$ vote_status.py
Propuesta: 0x2388d2cdb2cd6e7722b4af39c3bb406dd31f560e
0x19fe7b9b3a1bebde77c5374c8e13c623e3d1b5b2:
0x2feb6a8876bd9e2116b47834b977506a08ea77bd: True
0x342e1d075d820ed3f9d9a05967ec4055ab23fa1e:
0x39170a1ce03729d141dfaf8077c08b72c9cfdd0c:
0x46991ada2a2544468eb3673524641bf293f23ccc: True
0x609043ebde4a06bd28a1de238848e8f82cca9c23: True
0x91c055c6478bd0ad6d19bcb58f5e7ca7b04e67f1:
0x998c2651db6f76ca568c0071667d265bcc1b1e98:
0x9b3ac6719b02ec7bb4820ae178d31c0bbda3a4e0: True
0xc0310a7b3b25f49b11b901a667208a3eda8d7ceb:
A favor: 4, en contra: 0, no votaron: 6
Propuesta: 0x401d7a8432caa1025d5f093276cc6ec957b87c00
0x19fe7b9b3a1bebde77c5374c8e13c623e3d1b5b2:
0x2feb6a8876bd9e2116b47834b977506a08ea77bd: True
0x342e1d075d820ed3f9d9a05967ec4055ab23fa1e:
0x39170a1ce03729d141dfaf8077c08b72c9cfdd0c:
0x46991ada2a2544468eb3673524641bf293f23ccc: True
0x609043ebde4a06bd28a1de238848e8f82cca9c23: True
0x91c055c6478bd0ad6d19bcb58f5e7ca7b04e67f1:
0x998c2651db6f76ca568c0071667d265bcc1b1e98:
0x9b3ac6719b02ec7bb4820ae178d31c0bbda3a4e0: True
0xc0310a7b3b25f49b11b901a667208a3eda8d7ceb:
A favor: 4, en contra: 0, no votaron: 6
bfa@bootnode:~$
```
Usado con `watch` permite un seguimiento en terminal un poco más compacto que `walker.pl`.
```
Every 5.0s: vote_status.py
Propuesta: 0x2388d2cdb2cd6e7722b4af39c3bb406dd31f560e
0x19fe7b9b3a1bebde77c5374c8e13c623e3d1b5b2:
0x2feb6a8876bd9e2116b47834b977506a08ea77bd: True
0x342e1d075d820ed3f9d9a05967ec4055ab23fa1e:
0x39170a1ce03729d141dfaf8077c08b72c9cfdd0c:
0x46991ada2a2544468eb3673524641bf293f23ccc: True
0x609043ebde4a06bd28a1de238848e8f82cca9c23: True
0x91c055c6478bd0ad6d19bcb58f5e7ca7b04e67f1:
0x998c2651db6f76ca568c0071667d265bcc1b1e98:
0x9b3ac6719b02ec7bb4820ae178d31c0bbda3a4e0: True
0xc0310a7b3b25f49b11b901a667208a3eda8d7ceb:
A favor: 4, en contra: 0, no votaron: 6
Propuesta: 0x401d7a8432caa1025d5f093276cc6ec957b87c00
0x19fe7b9b3a1bebde77c5374c8e13c623e3d1b5b2:
0x2feb6a8876bd9e2116b47834b977506a08ea77bd: True
0x342e1d075d820ed3f9d9a05967ec4055ab23fa1e:
0x39170a1ce03729d141dfaf8077c08b72c9cfdd0c:
0x46991ada2a2544468eb3673524641bf293f23ccc: True
0x609043ebde4a06bd28a1de238848e8f82cca9c23: True
0x91c055c6478bd0ad6d19bcb58f5e7ca7b04e67f1:
0x998c2651db6f76ca568c0071667d265bcc1b1e98:
0x9b3ac6719b02ec7bb4820ae178d31c0bbda3a4e0: True
0xc0310a7b3b25f49b11b901a667208a3eda8d7ceb:
A favor: 4, en contra: 0, no votaron: 6
```