oasyce 0.9.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. oasyce-0.9.0/LICENSE +21 -0
  2. oasyce-0.9.0/PKG-INFO +442 -0
  3. oasyce-0.9.0/README.md +407 -0
  4. oasyce-0.9.0/oasyce.egg-info/PKG-INFO +442 -0
  5. oasyce-0.9.0/oasyce.egg-info/SOURCES.txt +66 -0
  6. oasyce-0.9.0/oasyce.egg-info/dependency_links.txt +1 -0
  7. oasyce-0.9.0/oasyce.egg-info/entry_points.txt +2 -0
  8. oasyce-0.9.0/oasyce.egg-info/requires.txt +12 -0
  9. oasyce-0.9.0/oasyce.egg-info/top_level.txt +1 -0
  10. oasyce-0.9.0/oasyce_plugin/__init__.py +2 -0
  11. oasyce-0.9.0/oasyce_plugin/bridge/__init__.py +0 -0
  12. oasyce-0.9.0/oasyce_plugin/bridge/core_bridge.py +209 -0
  13. oasyce-0.9.0/oasyce_plugin/cli.py +682 -0
  14. oasyce-0.9.0/oasyce_plugin/config.py +93 -0
  15. oasyce-0.9.0/oasyce_plugin/crypto/__init__.py +4 -0
  16. oasyce-0.9.0/oasyce_plugin/crypto/keys.py +89 -0
  17. oasyce-0.9.0/oasyce_plugin/crypto/merkle.py +35 -0
  18. oasyce-0.9.0/oasyce_plugin/engines/__init__.py +0 -0
  19. oasyce-0.9.0/oasyce_plugin/engines/core_engines.py +415 -0
  20. oasyce-0.9.0/oasyce_plugin/engines/l3_tee/__init__.py +10 -0
  21. oasyce-0.9.0/oasyce_plugin/engines/l3_tee/zk_poe_engine.py +39 -0
  22. oasyce-0.9.0/oasyce_plugin/engines/result.py +27 -0
  23. oasyce-0.9.0/oasyce_plugin/engines/schema.py +65 -0
  24. oasyce-0.9.0/oasyce_plugin/fingerprint/__init__.py +4 -0
  25. oasyce-0.9.0/oasyce_plugin/fingerprint/engine.py +178 -0
  26. oasyce-0.9.0/oasyce_plugin/fingerprint/registry.py +67 -0
  27. oasyce-0.9.0/oasyce_plugin/gui/__init__.py +0 -0
  28. oasyce-0.9.0/oasyce_plugin/gui/app.py +1088 -0
  29. oasyce-0.9.0/oasyce_plugin/logging/__init__.py +93 -0
  30. oasyce-0.9.0/oasyce_plugin/models.py +21 -0
  31. oasyce-0.9.0/oasyce_plugin/network/__init__.py +3 -0
  32. oasyce-0.9.0/oasyce_plugin/network/node.py +287 -0
  33. oasyce-0.9.0/oasyce_plugin/scripts/__init__.py +0 -0
  34. oasyce-0.9.0/oasyce_plugin/scripts/auto_test_genesis.py +101 -0
  35. oasyce-0.9.0/oasyce_plugin/scripts/demo_network.py +202 -0
  36. oasyce-0.9.0/oasyce_plugin/security/__init__.py +17 -0
  37. oasyce-0.9.0/oasyce_plugin/security/keymanager.py +167 -0
  38. oasyce-0.9.0/oasyce_plugin/services/__init__.py +1 -0
  39. oasyce-0.9.0/oasyce_plugin/services/settlement/__init__.py +1 -0
  40. oasyce-0.9.0/oasyce_plugin/services/settlement/engine.py +315 -0
  41. oasyce-0.9.0/oasyce_plugin/services/staking/__init__.py +392 -0
  42. oasyce-0.9.0/oasyce_plugin/services/verification/__init__.py +1 -0
  43. oasyce-0.9.0/oasyce_plugin/services/verification/api.py +175 -0
  44. oasyce-0.9.0/oasyce_plugin/services/verification/engine.py +482 -0
  45. oasyce-0.9.0/oasyce_plugin/services/verification/models.py +165 -0
  46. oasyce-0.9.0/oasyce_plugin/skills/__init__.py +0 -0
  47. oasyce-0.9.0/oasyce_plugin/skills/agent_skills.py +379 -0
  48. oasyce-0.9.0/oasyce_plugin/storage/__init__.py +4 -0
  49. oasyce-0.9.0/oasyce_plugin/storage/ipfs_client.py +300 -0
  50. oasyce-0.9.0/oasyce_plugin/storage/ledger.py +621 -0
  51. oasyce-0.9.0/pyproject.toml +65 -0
  52. oasyce-0.9.0/setup.cfg +4 -0
  53. oasyce-0.9.0/setup.py +7 -0
  54. oasyce-0.9.0/tests/test_blockchain.py +180 -0
  55. oasyce-0.9.0/tests/test_consensus.py +325 -0
  56. oasyce-0.9.0/tests/test_core_bridge.py +170 -0
  57. oasyce-0.9.0/tests/test_core_flow.py +146 -0
  58. oasyce-0.9.0/tests/test_crypto.py +78 -0
  59. oasyce-0.9.0/tests/test_engines.py +46 -0
  60. oasyce-0.9.0/tests/test_fingerprint.py +312 -0
  61. oasyce-0.9.0/tests/test_integration.py +219 -0
  62. oasyce-0.9.0/tests/test_l3_tee_engine.py +70 -0
  63. oasyce-0.9.0/tests/test_network.py +235 -0
  64. oasyce-0.9.0/tests/test_privacy_and_storage.py +258 -0
  65. oasyce-0.9.0/tests/test_settlement_engine.py +218 -0
  66. oasyce-0.9.0/tests/test_staking.py +295 -0
  67. oasyce-0.9.0/tests/test_sync.py +215 -0
  68. oasyce-0.9.0/tests/test_verification_service.py +358 -0
oasyce-0.9.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Shangrila / Oasyce Project
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
oasyce-0.9.0/PKG-INFO ADDED
@@ -0,0 +1,442 @@
1
+ Metadata-Version: 2.4
2
+ Name: oasyce
3
+ Version: 0.9.0
4
+ Summary: Decentralized data ownership and settlement protocol for the AI era
5
+ Author-email: Shangrila <wutc@oasyce.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/Shangri-la-0428/Oasyce_Claw_Plugin_Engine
8
+ Project-URL: Documentation, https://github.com/Shangri-la-0428/Oasyce_Claw_Plugin_Engine/tree/main/docs
9
+ Project-URL: Issues, https://github.com/Shangri-la-0428/Oasyce_Claw_Plugin_Engine/issues
10
+ Keywords: oasyce,data-ownership,settlement,ai,web3,bonding-curve,p2p,staking
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.9
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Topic :: Security :: Cryptography
20
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
21
+ Requires-Python: >=3.9
22
+ Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ Requires-Dist: cryptography>=41.0
25
+ Requires-Dist: python-dotenv>=1.0.0
26
+ Requires-Dist: aiohttp>=3.9.0
27
+ Provides-Extra: test
28
+ Requires-Dist: pytest>=7.0; extra == "test"
29
+ Requires-Dist: pytest-cov>=4.0; extra == "test"
30
+ Provides-Extra: dev
31
+ Requires-Dist: black>=23.0; extra == "dev"
32
+ Requires-Dist: flake8>=6.0; extra == "dev"
33
+ Requires-Dist: mypy>=1.0; extra == "dev"
34
+ Dynamic: license-file
35
+
36
+ # Oasyce Claw Plugin Engine
37
+
38
+ <div align="center">
39
+
40
+ **Decentralized data ownership and settlement protocol engine.**
41
+ **Local-first, zero-server, every node is the network.**
42
+
43
+ [![Version](https://img.shields.io/badge/version-0.9.0-blue.svg)](https://github.com/Shangri-la-0428/Oasyce_Claw_Plugin_Engine)
44
+ [![Python](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/)
45
+ [![Tests](https://img.shields.io/badge/tests-220%20passed-brightgreen.svg)](tests/)
46
+ [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
47
+
48
+ [Quick Start](#quick-start) · [CLI Reference](#cli-reference) · [Architecture](#architecture) · [Economics](docs/ECONOMICS.md) · [Testing](#testing)
49
+
50
+ </div>
51
+
52
+ ---
53
+
54
+ ## Why Oasyce? Why Now?
55
+
56
+ For twenty years, "data is the new oil" remained a slogan. Humans couldn't coordinate data trade at scale — the cost of contracts, lawyers, reconciliation, and enforcement exceeded the value of the data itself.
57
+
58
+ Then AI agents arrived. For the first time in history, the primary consumers of data are machines, not people. Machines can verify signatures in milliseconds, settle atomically, price algorithmically, and trace leaks cryptographically. Everything that made human-to-human data commerce impractical is exactly what machine-to-machine commerce does natively.
59
+
60
+ **Oasyce is the settlement network for this new economy.** A protocol where AI agents autonomously own, price, trade, and protect data — and humans simply run nodes and collect revenue.
61
+
62
+ - **PoPC (Proof of Physical Capture)** — Cryptographic certificates proving data provenance at the physical layer
63
+ - **Bancor Bonding Curves** — Algorithmic pricing: no negotiation, no middlemen, price emerges from demand
64
+ - **Staking Economy** — Run a node, stake OAS, become a stakeholder — your interests are the network's interests
65
+ - **Fingerprint Watermarking** — Steganographic watermarks embedded per-buyer; leak a file and we trace it back to you
66
+ - **P2P Network** — TCP+JSON mesh networking on port 9527, no central server, every node validates
67
+
68
+ **Core principle:** Your data, your keys, your revenue. No intermediaries.
69
+
70
+ ---
71
+
72
+ ## Architecture
73
+
74
+ Built across 9 development phases:
75
+
76
+ | Phase | Component | What it does |
77
+ |-------|-----------|-------------|
78
+ | 1 | **Ed25519 Cryptography** | Key generation, digital signatures, certificate signing |
79
+ | 2 | **SQLite Persistent Ledger** | Blockchain-structured storage with Merkle trees and chained hashes |
80
+ | 3 | **Blockchain Structure** | Block mining, hash chaining, Merkle root computation |
81
+ | 4 | **P2P Networking** | TCP+JSON peer discovery and message relay (port 9527) |
82
+ | 5 | **Block Synchronization** | 3-way validation, chain download, fork detection |
83
+ | 6 | **Consensus** | Longest-chain rule, chain reorganization, rate limiting |
84
+ | 7 | **Multi-Node Demo** | `oasyce demo-network` spins up N local nodes with consensus |
85
+ | 8 | **Staking Economy** | Proof-of-Stake, validator lifecycle, slashing, halving rewards |
86
+ | 9 | **Fingerprint Watermarking** | Steganographic embedding, extraction, leak tracing |
87
+
88
+ **Plus:** Web GUI dashboard, settlement engine (Bancor curves), privacy filter, IPFS-compatible storage, PoPC verification service, oasyce_core bridge layer.
89
+
90
+ ---
91
+
92
+ ## Economics Overview
93
+
94
+ Oasyce has two complementary economic layers. For full formulas, game theory analysis, and worked examples, see [docs/ECONOMICS.md](docs/ECONOMICS.md).
95
+
96
+ ### Data Access Fee Split (Settlement Layer)
97
+
98
+ Each data purchase flows through the Bancor bonding curve:
99
+
100
+ ```
101
+ Payment: 100 OAS
102
+ ├── Protocol Fee: 5% → 5 OAS
103
+ │ ├── Burn: 50% → 2.5 OAS (permanent deflation)
104
+ │ └── Verifier: 50% → 2.5 OAS
105
+ └── Net Deposit: 95% → 95 OAS → enters bonding curve → pushes price up
106
+ ```
107
+
108
+ **Bancor formula:** `ΔTokens = S × ((1 + ΔR/R)^F − 1)` where S=supply, R=reserve, F=0.20 (connector weight)
109
+
110
+ ### Transaction Fee Distribution (Network Layer)
111
+
112
+ For each data access fee collected at the network level:
113
+
114
+ | Recipient | Share | Purpose |
115
+ |-----------|-------|---------|
116
+ | Creator | 70% | Data creator gets the lion's share |
117
+ | Validators | 20% | Split by stake weight |
118
+ | Burn | 10% | Permanent deflation |
119
+
120
+ ### Block Rewards & Staking
121
+
122
+ - **Block reward:** 50 OAS/block, halving every 525,600 blocks (~1 year)
123
+ - **Minimum stake:** 1,000 OAS
124
+ - **Unbonding period:** 7 days
125
+ - **Slashing:** 100% for malicious blocks, 50% for double blocks, 5%/day for offline
126
+
127
+ ### Fingerprint Economics
128
+
129
+ Each buyer receives a uniquely watermarked copy. Leak detection: extract watermark → identify leaker → on-chain proof (fingerprint ↔ caller_id ↔ timestamp).
130
+
131
+ ---
132
+
133
+ ## Quick Start
134
+
135
+ ```bash
136
+ # Clone and install
137
+ git clone https://github.com/Shangri-la-0428/Oasyce_Claw_Plugin_Engine.git
138
+ cd Oasyce_Claw_Plugin_Engine
139
+ python3 -m venv venv
140
+ source venv/bin/activate
141
+ pip install -e .
142
+
143
+ # Configure
144
+ cp .env.example .env
145
+ # Edit .env with your settings (OASYCE_VAULT_DIR, OASYCE_OWNER, OASYCE_SIGNING_KEY)
146
+
147
+ # Verify installation
148
+ oasyce --help
149
+ ```
150
+
151
+ ### Register your first asset
152
+
153
+ ```bash
154
+ oasyce register /path/to/file.pdf --owner "Alice" --tags "Research,Genesis"
155
+ ```
156
+
157
+ ### Run the full demo (register → quote → buy → shares)
158
+
159
+ ```bash
160
+ oasyce demo
161
+ ```
162
+
163
+ ### Launch the web dashboard
164
+
165
+ ```bash
166
+ oasyce gui
167
+ # Opens at http://localhost:8420
168
+ ```
169
+
170
+ ### Spin up a local P2P network
171
+
172
+ ```bash
173
+ oasyce demo-network --nodes 3
174
+ ```
175
+
176
+ ---
177
+
178
+ ## CLI Reference
179
+
180
+ ### Asset Management
181
+
182
+ ```bash
183
+ # Register a file as an Oasyce asset
184
+ oasyce register <file_path> --owner "Name" --tags "Tag1,Tag2"
185
+
186
+ # Search assets by tag
187
+ oasyce search <tag> [--json]
188
+
189
+ # Get Bancor pricing quote
190
+ oasyce quote <asset_id> [--use-core]
191
+
192
+ # Buy access to an asset
193
+ oasyce buy <asset_id> --buyer "BuyerName" --amount 10.0
194
+
195
+ # Verify a PoPC certificate
196
+ oasyce verify <asset_id>
197
+ ```
198
+
199
+ ### Staking
200
+
201
+ ```bash
202
+ # Stake OAS tokens for a validator
203
+ oasyce stake <validator_id> <amount>
204
+
205
+ # View share holdings
206
+ oasyce shares <owner>
207
+ ```
208
+
209
+ ### P2P Node
210
+
211
+ ```bash
212
+ # Start a P2P node
213
+ oasyce node start [--port 9527]
214
+
215
+ # Show node info
216
+ oasyce node info
217
+
218
+ # Ping a peer
219
+ oasyce node ping <host:port>
220
+ ```
221
+
222
+ ### Fingerprint Watermarking
223
+
224
+ ```bash
225
+ # Embed a watermark
226
+ oasyce fingerprint embed <file_path> --caller "buyer_id" [--output watermarked.png]
227
+
228
+ # Extract watermark from a file
229
+ oasyce fingerprint extract <file_path>
230
+
231
+ # Trace a fingerprint to its distribution record
232
+ oasyce fingerprint trace <fingerprint_hash>
233
+
234
+ # List all distributions for an asset
235
+ oasyce fingerprint list <asset_id>
236
+ ```
237
+
238
+ ### Utilities
239
+
240
+ ```bash
241
+ # Launch web GUI dashboard
242
+ oasyce gui [--port 8420]
243
+
244
+ # Run multi-node demo with consensus
245
+ oasyce demo-network [--nodes 3]
246
+
247
+ # Run end-to-end protocol demo
248
+ oasyce demo
249
+
250
+ # JSON output for any command
251
+ oasyce <command> --json
252
+ ```
253
+
254
+ ---
255
+
256
+ ## Python SDK
257
+
258
+ ```python
259
+ from oasyce_plugin.config import Config
260
+ from oasyce_plugin.skills.agent_skills import OasyceSkills
261
+
262
+ # Initialize
263
+ config = Config.from_env()
264
+ skills = OasyceSkills(config)
265
+
266
+ # Register a file
267
+ file_info = skills.scan_data_skill("/path/to/file.pdf")
268
+ metadata = skills.generate_metadata_skill(file_info, ["Core"], "Alice")
269
+ signed = skills.create_certificate_skill(metadata)
270
+ result = skills.register_data_asset_skill(signed)
271
+
272
+ print(f"Asset ID: {signed['asset_id']}")
273
+
274
+ # Get pricing quote
275
+ quote = skills.trade_data_skill(signed['asset_id'])
276
+ print(f"Price: {quote['current_price_oas']} OAS")
277
+ ```
278
+
279
+ ### Settlement Engine (direct)
280
+
281
+ ```python
282
+ from oasyce_plugin.services.settlement.engine import SettlementEngine
283
+
284
+ engine = SettlementEngine()
285
+ pool = engine.register_asset("ASSET_001", owner="Alice")
286
+ receipt = engine.execute("ASSET_001", buyer="Bob", payment_oas=100.0)
287
+
288
+ print(f"Tokens received: {receipt.quote.equity_minted}")
289
+ print(f"Burned: {receipt.quote.burn_amount} OAS")
290
+ print(f"New spot price: {receipt.quote.spot_price_after} OAS")
291
+ ```
292
+
293
+ ### Staking Engine (direct)
294
+
295
+ ```python
296
+ from oasyce_plugin.services.staking import StakingEngine
297
+
298
+ staking = StakingEngine()
299
+ staking.stake("validator_1", 5000.0)
300
+ reward = staking.produce_block("validator_1", block_height=1)
301
+ fees = staking.distribute_fees(100.0, creator="Alice")
302
+ ```
303
+
304
+ ---
305
+
306
+ ## Project Structure
307
+
308
+ ```
309
+ Oasyce_Claw_Plugin_Engine/
310
+ ├── oasyce_plugin/ # Core package
311
+ │ ├── cli.py # CLI entry point (argparse)
312
+ │ ├── config.py # Configuration management
313
+ │ ├── models.py # Data models
314
+ │ ├── bridge/
315
+ │ │ └── core_bridge.py # Bridge to oasyce_core protocol
316
+ │ ├── crypto/
317
+ │ │ ├── keys.py # Ed25519 key generation & signing
318
+ │ │ └── merkle.py # Merkle tree implementation
319
+ │ ├── engines/
320
+ │ │ ├── core_engines.py # Local verification engines
321
+ │ │ ├── schema.py # Data validation schemas
322
+ │ │ ├── result.py # Unified result types
323
+ │ │ └── l3_tee/ # TEE / ZK-PoE engine
324
+ │ ├── fingerprint/
325
+ │ │ ├── engine.py # Steganographic watermarking
326
+ │ │ └── registry.py # Distribution tracking
327
+ │ ├── gui/
328
+ │ │ └── app.py # Web dashboard
329
+ │ ├── network/
330
+ │ │ └── node.py # P2P TCP+JSON node
331
+ │ ├── security/
332
+ │ │ └── keymanager.py # Key management
333
+ │ ├── services/
334
+ │ │ ├── settlement/
335
+ │ │ │ └── engine.py # Bancor bonding curve settlement
336
+ │ │ ├── staking/
337
+ │ │ │ └── __init__.py # PoS staking, slashing, rewards
338
+ │ │ └── verification/
339
+ │ │ ├── api.py # Verification API
340
+ │ │ └── engine.py # PoPC verification engine
341
+ │ ├── skills/
342
+ │ │ └── agent_skills.py # AI agent integration (OpenClaw)
343
+ │ ├── storage/
344
+ │ │ ├── __init__.py # Storage backends
345
+ │ │ ├── ledger.py # SQLite blockchain ledger
346
+ │ │ └── ipfs_client.py # IPFS integration
347
+ │ └── scripts/
348
+ │ └── demo_network.py # Multi-node demo orchestrator
349
+ ├── tests/ # 220 tests across 15 test files
350
+ ├── examples/ # Usage examples
351
+ ├── scripts/ # Setup & utility scripts
352
+ ├── docs/ # Documentation
353
+ │ └── ECONOMICS.md # Detailed economic model
354
+ ├── setup.py # Package config (v0.9.0)
355
+ └── README.md # This file
356
+ ```
357
+
358
+ ---
359
+
360
+ ## Testing
361
+
362
+ ```bash
363
+ # Run all tests
364
+ python3 -m pytest tests/ -v
365
+
366
+ # Run with coverage
367
+ python3 -m pytest tests/ -v --cov=oasyce_plugin --cov-report=term-missing
368
+
369
+ # Run a specific test file
370
+ python3 -m pytest tests/test_settlement_engine.py -v
371
+ ```
372
+
373
+ **Test suite:** 220 tests across 15 test files covering:
374
+
375
+ | Test File | Coverage Area |
376
+ |-----------|-------------|
377
+ | `test_blockchain.py` | Block mining, hash chains, Merkle trees |
378
+ | `test_consensus.py` | Longest chain, reorg, rate limiting |
379
+ | `test_core_bridge.py` | oasyce_core protocol integration |
380
+ | `test_core_flow.py` | End-to-end registration flow |
381
+ | `test_crypto.py` | Ed25519 signatures, key management |
382
+ | `test_engines.py` | Local verification engines |
383
+ | `test_fingerprint.py` | Watermark embed/extract/trace |
384
+ | `test_integration.py` | Cross-module integration |
385
+ | `test_l3_tee_engine.py` | TEE/ZK proof engine |
386
+ | `test_network.py` | P2P networking, peer discovery |
387
+ | `test_privacy_and_storage.py` | Privacy filter, storage backends |
388
+ | `test_settlement_engine.py` | Bancor curves, fee splits |
389
+ | `test_staking.py` | Staking, slashing, rewards |
390
+ | `test_sync.py` | Block synchronization |
391
+ | `test_verification_service.py` | PoPC verification service |
392
+
393
+ ---
394
+
395
+ ## Configuration
396
+
397
+ ### .env file (recommended)
398
+
399
+ ```env
400
+ OASYCE_VAULT_DIR=~/oasyce/genesis_vault
401
+ OASYCE_OWNER=YourName
402
+ OASYCE_SIGNING_KEY=your-secret-key-here
403
+ OASYCE_SIGNING_KEY_ID=my_key_001
404
+ ```
405
+
406
+ ### Environment variables
407
+
408
+ ```bash
409
+ export OASYCE_VAULT_DIR=~/oasyce/genesis_vault
410
+ export OASYCE_OWNER=YourName
411
+ export OASYCE_SIGNING_KEY=your-secret-key
412
+ export OASYCE_SIGNING_KEY_ID=my_key_001
413
+ ```
414
+
415
+ **Security:** Use a strong random key (32+ characters) in production. Development can use `DEFAULT_INSECURE_DEV_KEY_0x123`.
416
+
417
+ ---
418
+
419
+ ## Stats
420
+
421
+ | Metric | Value |
422
+ |--------|-------|
423
+ | Tests | 220 passing |
424
+ | Source files | ~50 |
425
+ | Development phases | 9 |
426
+ | Core dependencies | Zero (stdlib only for protocol) |
427
+
428
+ ---
429
+
430
+ ## License
431
+
432
+ Proprietary - All rights reserved.
433
+
434
+ ---
435
+
436
+ <div align="center">
437
+
438
+ *Your AI works for you every day. Oasyce makes sure it gets paid.*
439
+
440
+ [GitHub](https://github.com/Shangri-la-0428/Oasyce_Claw_Plugin_Engine) · [Protocol Overview](docs/OASYCE_PROTOCOL_OVERVIEW.md) · [Economics](docs/ECONOMICS.md) · [Contributing](CONTRIBUTING.md)
441
+
442
+ </div>