Docker Compose Changes
Socket Path Update
Update yourdocker-compose.yml
file:
Guest SDK Changes
Client Initialization
JavaScript:Key Derivation Methods
The ambiguousderiveKey()
method is now split for clarity:
JavaScript:
⚠️ CRITICAL: Wallet Helper Functions - ADDRESS WILL CHANGE
Important: The secure functions apply SHA256 hashing which results in DIFFERENT wallet addresses. Plan your migration carefully! JavaScript Migration:Migration Strategy for Wallets
Since wallet addresses will change, you need to plan your migration:- For new applications: Use secure functions from the start
-
For existing applications with funds:
- Deploy both old and new wallet systems in parallel
- Transfer funds from old wallets to new secure wallets
- Update all references to wallet addresses
- Only deprecate old system after confirming all funds are migrated
-
If you must keep the same address (NOT RECOMMENDED):
Remote Attestation
Quote generation now requires manual hashing for data larger than 64 bytes: JavaScript:New Features in v0.5.x
Event Emission (Advanced)
Extends RTMR3 with custom events. This is an advanced feature for attestation purposes.KMS Public Key Verification
When deploying with encrypted environment variables, the SDK now includes a function to verify that encryption keys from the KMS are legitimate, preventing man-in-the-middle attacks. JavaScript:HTTP API Changes
Endpoint Format
Migration Checklist
-
Update SDK version
-
Update docker-compose.yml
- Change socket mount from
/var/run/tappd.sock
to/var/run/dstack.sock
- Change socket mount from
-
Update client code
- Replace
TappdClient
withDstackClient
- Replace
deriveKey()
withgetKey()
- Replace
-
⚠️ CRITICAL: Plan wallet migration
- Wallet addresses WILL change with secure functions
- Transfer funds from old to new wallets
- Update all address references
-
Update attestation code
- Add manual hashing for
getQuote()
if data > 64 bytes
- Add manual hashing for
-
Test thoroughly
- Verify new wallet addresses
- Test fund transfers
- Test attestation flows
Common Issues and Solutions
Issue: Wallet addresses changed unexpectedly
Cause: Using secure functions changes the address due to SHA256 hashingSolution: This is expected. Plan migration of funds and update address references
Issue: Need to keep old wallet address temporarily
Cause: Cannot migrate funds immediatelySolution: Use legacy functions temporarily (security risk) while planning migration
Issue: Socket connection errors
Cause: Old socket path in docker-compose.ymlSolution: Update volume mount to
/var/run/dstack.sock
Issue: Quote generation fails
Cause: Data exceeds 64 bytes without hashingSolution: Hash data before passing to
getQuote()