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
***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.
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.
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.
84
-
***Never commit**`.env`, `key.txt`, or any file containing real private keys to version control.
85
-
*Consider using HashiCorp Vault, AWS Secrets Manager, or similar for production secrets.
114
+
***MASTER_KEY** encrypts private keys and is required on startup.
115
+
***BACKUP_KEYS** allow decryption of old encrypted blobs after rotation.
116
+
***Session salt**strengthens ephemeral key derivation; store salts for persistence.
117
+
***Encrypted personas/inactive storage**: optionally encrypt on write/load.
118
+
***Never commit**`.env`, `key.txt`, or any private key files.
119
+
*Use secret managers like HashiCorp Vault or AWS Secrets Manager in production.
86
120
87
121
---
88
122
89
123
## 🕵️ Device Agent & Fake Latency
90
124
91
-
*Each persona can include a `deviceAgent`object containing a `userAgent` string and a `latency` value (ms). The simulator uses `userAgent` when making HTTP/RPC calls where custom headers are supported and applies `latency` as a simulated network delay before/after RPC calls to diversify network footprints.
92
-
* Device agents are persisted in personas (and can be encrypted on disk) so wallets keep consistent fingerprinting unless rotated deliberately.
* Device agents are persisted in personas unless rotated manually.
93
127
94
128
---
95
129
96
130
## ⚙️ Adaptive Activity Patterns
97
131
98
-
*The simulator keeps simple success/failure counters per persona (`txSuccessCount`, `txFailCount`) and uses those to **adjust `idleBias` dynamically**.
99
-
*If a wallet experiences repeated failures, `idleBias`increases to reduce activity (saving gas and avoiding repeated failures). When success rate improves, `idleBias`lowers to resume normal activity.
*Repeated failures increase `idleBias`and reduce activity; success lowers it to normal levels.
100
134
101
135
---
102
136
103
137
## 📈 Logging & Observability
104
138
105
-
* Transaction logs are buffered and flushed to daily CSV files every 5 minutes (configurable).
106
-
* Consider integrating metrics or a dashboard (Prometheus / Grafana) for real-time monitoring and alerts (RPC failures, wallet depletion, repeated tx failures).
139
+
* Logs buffered and flushed every 5 minutes.
140
+
* Old logs auto-deleted after 3 days; `--clear-logs` flag purges logs.
141
+
* Consider metrics dashboards (Prometheus / Grafana) for real-time monitoring.
107
142
108
143
---
109
144
110
-
## 🛠️ Extensibility & Next Steps
111
-
112
-
Suggested improvements:
145
+
## 🛠️ Extensibility
113
146
114
-
* Encrypted persona & inactive storage (implemented/optional)
115
-
* Persistent per-key salts for long-term encrypted artifacts
116
-
* Dashboard & metrics for live monitoring
117
-
* Stable proxy-per-wallet assignment to simulate consistent geolocation
147
+
* Encrypted persona/inactive storage
148
+
* Persistent per-key salts
149
+
* Dashboard for metrics
150
+
* Stable proxy-per-wallet assignment for location simulation
118
151
119
152
---
120
153
121
154
## 🤝 Contributing
122
155
123
-
Contributions welcome. Fork → branch → PR. Include tests and documentation for runtime changes.
156
+
Fork → branch → PR. Include tests and documentation.
124
157
125
158
---
126
159
127
160
## ⚠️ Disclaimer
128
161
129
-
This tool is for research, testing, and education. Do **not** use it for spam, Sybil attacks, or behavior that violates network terms. Use testnets wherever possible.
162
+
For research, testing, and education only. Avoid spam/Sybil attacks. Use testnets where possible.
0 commit comments