You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
*`personas.json` — persona defaults (created automatically if missing). The simulator also supports encrypted persona storage.
77
-
*`inactive.json` — stores addresses marked outside their active hours (can be encrypted on disk if enabled).
78
-
*`proxy.txt` — optional: one proxy URL per line (`http(s)://host:port` or `socks5://host:port`).
79
-
*`key.txt` — legacy: one private key per line (not required if using `PRIVATE_KEYS` env).
80
-
*`tx_log_YYYY-MM-DD.csv` — daily CSV logs with header: `timestamp,wallet,tx_hash,nonce,gas_used,gas_price_gwei,fee_celo,status,action`.
81
-
82
-
### Persona format (example)
83
-
84
-
Personas are stored as an object keyed by wallet address. Example:
85
-
86
-
```json
87
-
{
88
-
"0xabc...": {
89
-
"idleBias": 0.12,
90
-
"pingBias": 0.06,
91
-
"minAmount": 0.0001,
92
-
"maxAmount": 0.01,
93
-
"activeHours": [2, 22],
94
-
"cooldownAfterFail": 90,
95
-
"avgWait": 45,
96
-
"retryBias": 0.2,
97
-
"maxNonce": 560,
98
-
"failCount": 0,
99
-
"lastFailAt": null,
100
-
"deviceAgent": { "userAgent": "Chrome/102.0 (Windows NT 10.0)", "latency": 120 }
101
-
}
102
-
}
103
-
```
69
+
*`index.js`: Main runtime engine (encryption, personas, RPC/proxy logic, tx loop).
70
+
*`personas.json`: Persona defaults (created automatically if missing). The simulator also supports encrypted persona storage.
71
+
*`inactive.json`: Stores addresses marked outside their active hours (can be encrypted on disk if enabled).
72
+
*`proxy.txt`: Optional: One proxy URL per line (`http(s)://host:port` or `socks5://host:port`).
73
+
*`key.txt`: Legacy: One private key per line (not required if using `PRIVATE_KEYS` env).
74
+
*`tx_log_YYYY-MM-DD.csv`: Daily CSV logs with header: `timestamp,wallet,tx_hash,nonce,gas_used,gas_price_gwei,fee_celo,status,action`.
104
75
105
76
---
106
77
107
78
## 🔒 Security Notes
108
79
109
-
***MASTER\_KEY** encrypts private keys in memory and is required at process start. Provide it via OS-level secrets or a secure vault in production.
110
-
***BACKUP\_KEYS** allow decrypting older encrypted blobs after key rotation. The script attempts decryption with all provided master keys.
80
+
***MASTER_KEY** encrypts private keys in memory and is required at process start. Provide it via OS-level secrets or a secure vault in production.
81
+
***BACKUP_KEYS** allow decrypting older encrypted blobs after key rotation. The script attempts decryption with all provided master keys.
111
82
***Session salt** is used for stronger ephemeral key derivation. If you require persistent encrypted artifacts across runs, use per-key persistent salts stored with the ciphertext.
112
-
***Encrypted personas/inactive storage**: the simulator supports encrypting `personas.json` and `inactive.json` on write and decrypting on load — enable this to protect persona metadata at rest.
83
+
***Encrypted personas/inactive storage**: The simulator supports encrypting `personas.json` and `inactive.json` on write and decrypting on load — enable this to protect persona metadata at rest.
113
84
***Never commit**`.env`, `key.txt`, or any file containing real private keys to version control.
114
85
* Consider using HashiCorp Vault, AWS Secrets Manager, or similar for production secrets.
0 commit comments