|
6 | 6 | def get_defaults():
|
7 | 7 | return {
|
8 | 8 | "logging": {
|
| 9 | + # Logging level. |
9 | 10 | "level": logging.WARNING,
|
| 11 | + # Max log file size for each process. |
10 | 12 | "max_log_file_size": 50_000_000, # 50MB
|
11 | 13 | },
|
12 | 14 | "aleph": {
|
| 15 | + # Name of the P2P pubsub topic used to distribute pending messages across the aleph.im network. |
13 | 16 | "queue_topic": "ALEPH-TEST",
|
14 |
| - "host": "0.0.0.0", |
15 |
| - "port": 8000, |
| 17 | + # URL of another Core Channel Node to compare the synchronization status. |
16 | 18 | "reference_node_url": None,
|
| 19 | + # URL of the aleph.im cross-chain indexer. |
17 | 20 | "indexer_url": "https://multichain.api.aleph.cloud",
|
18 | 21 | "balances": {
|
| 22 | + # Addresses allowed to publish balance updates. |
19 | 23 | "addresses": [
|
20 | 24 | "0xB34f25f2c935bCA437C061547eA12851d719dEFb",
|
21 | 25 | "0xa1B3bb7d2332383D96b7796B908fB7f7F3c2Be10",
|
22 | 26 | ],
|
| 27 | + # POST message type for balance updates. |
23 | 28 | "post_type": "balances-update",
|
24 | 29 | },
|
25 | 30 | "jobs": {
|
26 | 31 | "pending_messages": {
|
| 32 | + # Maximum number of retries for a message. |
27 | 33 | "max_retries": 10,
|
| 34 | + # Maximum number of messages/files fetched at the same time. |
28 | 35 | "max_concurrency": 10,
|
29 |
| - "store": 30, |
30 | 36 | },
|
31 | 37 | "pending_txs": {
|
| 38 | + # Maximum number of chain/sync events processed at the same time. |
32 | 39 | "max_concurrency": 20,
|
33 | 40 | },
|
34 | 41 | },
|
35 | 42 | },
|
36 | 43 | "p2p": {
|
| 44 | + # Port used for HTTP communication between nodes. |
37 | 45 | "http_port": 4024,
|
| 46 | + # Port used for P2P communication between nodes. |
38 | 47 | "port": 4025,
|
| 48 | + # Port used to communicate with the local P2P service. |
39 | 49 | "control_port": 4030,
|
| 50 | + # Hostname of the P2P service. |
40 | 51 | "daemon_host": "p2p-service",
|
| 52 | + # Hostname of the RabbitMQ service, as viewed by the Core Channel Node code. |
41 | 53 | "mq_host": "rabbitmq",
|
| 54 | + # Delay between connection attempts to other nodes on the network. |
42 | 55 | "reconnect_delay": 60,
|
| 56 | + # P2P pubsub topic used for liveness checks. |
43 | 57 | "alive_topic": "ALIVE",
|
| 58 | + # Enabled P2P clients (HTTP and/or P2P). |
44 | 59 | "clients": ["http"],
|
| 60 | + # Bootstrap peers for the P2P service. |
45 | 61 | "peers": [
|
46 | 62 | "/dns/api1.aleph.im/tcp/4025/p2p/Qmaxufiqdyt5uVWcy1Xh2nh3Rs3382ArnSP2umjCiNG2Vs",
|
47 | 63 | "/dns/api2.aleph.im/tcp/4025/p2p/QmZkurbY2G2hWay59yiTgQNaQxHSNzKZFt2jbnwJhQcKgV",
|
48 | 64 | ],
|
| 65 | + # Topics to listen to by default on the P2P service. |
49 | 66 | "topics": ["ALIVE", "ALEPH-TEST"],
|
50 | 67 | },
|
51 |
| - "storage": {"folder": "/var/lib/pyaleph", "store_files": True, "engine": "filesystem"}, |
52 |
| - "nuls": { |
53 |
| - "chain_id": 8964, |
54 |
| - "enabled": False, |
55 |
| - "packing_node": False, |
56 |
| - "private_key": None, |
57 |
| - "commit_delay": 14, |
| 68 | + "storage": { |
| 69 | + # Folder used to store files on the node. |
| 70 | + "folder": "/var/lib/pyaleph", |
| 71 | + # Whether to store files on the node. |
| 72 | + "store_files": True, |
58 | 73 | },
|
59 | 74 | "nuls2": {
|
| 75 | + # NULS2 chain ID. |
60 | 76 | "chain_id": 1,
|
| 77 | + # Whether to fetch transactions from NULS2. |
61 | 78 | "enabled": False,
|
| 79 | + # Whether to enable publishing of messages on NULS2 from this node. |
62 | 80 | "packing_node": False,
|
| 81 | + # NULS2 RPC node URL. |
63 | 82 | "api_url": "https://apiserver.nuls.io/",
|
| 83 | + # NULS2 explorer URL. |
64 | 84 | "explorer_url": "https://nuls.world",
|
| 85 | + # NULS2 private key. Only required if packing_node is set to true. |
65 | 86 | "private_key": None,
|
| 87 | + # Address of the aleph.im smart contract on NULS2. |
66 | 88 | "sync_address": None,
|
| 89 | + # Delay in seconds between publication attempts. |
67 | 90 | "commit_delay": 14,
|
| 91 | + # Remark filter for transactions. |
68 | 92 | "remark": "ALEPH-SYNC",
|
69 |
| - "token_contract": None, |
70 | 93 | },
|
71 | 94 | "bsc": {
|
| 95 | + # Whether to fetch transactions from the BSC chain. |
72 | 96 | "enabled": True,
|
| 97 | + # Address of the aleph.im smart contract on the BSC chain. |
73 | 98 | "sync_contract": "0xdF270752C8C71D08acbae4372687DA65AECe2D5D",
|
74 | 99 | },
|
75 | 100 | "ethereum": {
|
| 101 | + # Whether to fetch transactions from Ethereum. |
76 | 102 | "enabled": False,
|
| 103 | + # Ethereum RPC node URL. |
77 | 104 | "api_url": "http://127.0.0.1:8545",
|
| 105 | + # Whether to enable publishing of messages on Ethereum from this node. |
78 | 106 | "packing_node": False,
|
| 107 | + # Ethereum chain ID. |
79 | 108 | "chain_id": 1,
|
| 109 | + # Ethereum private key. Only required if packing_node is set to true. |
80 | 110 | "private_key": None,
|
| 111 | + # Address of the aleph.im smart contract on Ethereum. |
81 | 112 | "sync_contract": None,
|
| 113 | + # Ethereum block height to start from when fetching sync events. |
82 | 114 | "start_height": 11400000,
|
| 115 | + # Delay in seconds between publication attempts. |
83 | 116 | "commit_delay": 35,
|
84 |
| - "token_contract": None, |
85 |
| - "token_start_height": 10900000, |
| 117 | + # Maximum gas price accepted when publishing to Ethereum. |
86 | 118 | "max_gas_price": 150000000000,
|
| 119 | + # Authorized publishers for sync events. |
87 | 120 | "authorized_emitters": ["0x23eC28598DCeB2f7082Cc3a9D670592DfEd6e0dC"],
|
88 | 121 | },
|
89 | 122 | "tezos": {
|
| 123 | + # Whether to fetch transactions from Tezos. |
90 | 124 | "enabled": True,
|
| 125 | + # URL of the aleph.im indexer for Tezos. |
91 | 126 | "indexer_url": "https://tezos-mainnet.api.aleph.cloud",
|
| 127 | + # Address of the aleph.im smart contract on Tezos. |
92 | 128 | "sync_contract": "KT1FfEoaNvooDfYrP61Ykct6L8z7w7e2pgnT",
|
93 | 129 | },
|
94 | 130 | "postgres": {
|
| 131 | + # Hostname of the local PostgreSQL database. |
95 | 132 | "host": "postgres",
|
| 133 | + # Port of the local PostgreSQL database. |
96 | 134 | "port": 5432,
|
| 135 | + # Name of the database. |
97 | 136 | "database": "aleph",
|
| 137 | + # Username for the local PostgreSQL database. |
98 | 138 | "user": "aleph",
|
| 139 | + # Password for the local PostgreSQL database. |
99 | 140 | "password": "decentralize-everything",
|
| 141 | + # Maximum number of concurrent connections to the local PostgreSQL database. |
100 | 142 | "pool_size": 50,
|
101 | 143 | },
|
102 |
| - "mail": { |
103 |
| - "email_sender": "[email protected]", |
104 |
| - "smtp_url": "smtp://127.0.0.1", |
105 |
| - }, |
106 | 144 | "ipfs": {
|
| 145 | + # Whether to enable storage and communication on IPFS. |
107 | 146 | "enabled": True,
|
| 147 | + # Hostname of the IPFS service. |
108 | 148 | "host": "ipfs",
|
| 149 | + # Port of the IPFS service. |
109 | 150 | "port": 5001,
|
110 |
| - "gateway_port": 8080, |
111 |
| - "id": None, |
| 151 | + # IPFS pubsub topic used for liveness checks. |
112 | 152 | "alive_topic": "ALEPH_ALIVE",
|
| 153 | + # Delay between connection attempts to other nodes on the network. |
113 | 154 | "reconnect_delay": 60,
|
| 155 | + # Bootstrap peers for IPFS. |
114 | 156 | "peers": [
|
115 | 157 | "/dnsaddr/api1.aleph.im/ipfs/12D3KooWNgogVS6o8fVsPdzh2FJpCdJJLVSgJT38XGE1BJoCerHx",
|
116 | 158 | "/ip4/51.159.57.71/tcp/4001/p2p/12D3KooWBH3JVSBwHLNzxv7EzniBP3tDmjJaoa3EJBF9wyhZtHt2",
|
117 | 159 | "/ip4/62.210.93.220/tcp/4001/p2p/12D3KooWLcmvqojHzUnR7rr8YhFKGDD8z7fmsPyBfAm2rT3sFGAF",
|
118 | 160 | ],
|
119 | 161 | },
|
120 | 162 | "rabbitmq": {
|
| 163 | + # Hostname of the RabbitMQ service. |
121 | 164 | "host": "rabbitmq",
|
| 165 | + # Port of the RabbitMQ service. |
122 | 166 | "port": 5672,
|
| 167 | + # Username of the RabbitMQ service. |
123 | 168 | "username": "aleph-p2p",
|
| 169 | + # Password of the RabbitMQ service. |
124 | 170 | "password": "change-me!",
|
| 171 | + # Name of the exchange used to publish messages from the node to the P2P network. |
125 | 172 | "pub_exchange": "p2p-publish",
|
| 173 | + # Name of the exchange used to publish messages from the P2P network to the node. |
126 | 174 | "sub_exchange": "p2p-subscribe",
|
| 175 | + # Name of the exchange used to publish processed messages (output of the message processor). |
127 | 176 | "message_exchange": "aleph-messages",
|
128 | 177 | },
|
129 | 178 | "redis": {
|
| 179 | + # Hostname of the Redis service. |
130 | 180 | "host": "redis",
|
| 181 | + # Port of the Redis service. |
131 | 182 | "port": 6379,
|
132 | 183 | },
|
133 | 184 | "sentry": {
|
| 185 | + # Sentry DSN. |
134 | 186 | "dsn": None,
|
| 187 | + # Sentry trace sample rate. |
135 | 188 | "traces_sample_rate": None,
|
136 | 189 | },
|
137 | 190 | }
|
|
0 commit comments