Developer Guid
Installation
Install the Decontext Protocol package via npm:
npm install decontext-protocolOr clone the full repository:
git clone https://github.com/Decontext/decontext-protocol
cd decontext-protocol
npm installProject Structure
contracts/: Solidity smart contracts implementing DMCPsdk/: TypeScript SDK to interact with context modelsscripts/: Deployment and utility scriptsexamples/: Sample code for integrationtest/: Unit tests using Hardhatdocs/: Developer documentation and walkthroughs
Prerequisites
Node.js ≥ v16
npm ≥ v8
Hardhat (for testing/deployment)
Metamask-compatible wallet
Infura or Alchemy key for Sepolia testnet (or another RPC)
Environment Setup
Create a .env file in the root directory with the following:
SEPOLIA_RPC_URL=https://sepolia.infura.io/v3/YOUR_INFURA_KEY
PRIVATE_KEY=your_wallet_private_key_without_0x
ETHERSCAN_API_KEY=your_etherscan_keyContract Compilation
Use Hardhat to compile the contracts:
npx hardhat compileDeploying to Sepolia
You can deploy the DMCP contracts to Sepolia using the included script:
npx hardhat run scripts/deploy.cjs --network sepoliaThis will deploy the protocol contracts and output the deployed addresses.
Running Tests
Ensure the protocol behaves correctly using the built-in tests:
npx hardhat testUsing the SDK
You can interact with the protocol using the provided TypeScript SDK in sdk/. Example:
tsCopyEditimport { ContextClient } from "decontext-protocol";
const client = new ContextClient({
rpcUrl: process.env.SEPOLIA_RPC_URL,
privateKey: process.env.PRIVATE_KEY,
});
// Fetch context
const userContext = await client.getContext("user.profile", "0xABC...");
// Set new context
await client.setContext("user.reputation", { score: 85 });The SDK abstracts interaction with DMCP contracts and schema logic, making it easy to build context-aware agents and dApps.
Example Use Case
In the examples/ folder, you'll find templates for:
Registering a context schema
Updating a user's context
Querying an entity's behavior context
Integrating with smart contracts or AI agents
Additional Resources
Docs: Inside the
/docsfolder or GitHub wikiLive Package: npmjs.com/package/decontext-protocol
Source Code: github.com/decontextai/decontext-protocol
Next Steps
Register a new context schema
Deploy your own context-aware dApp or AI agent
Integrate with other Decontext-compatible modules
Need help? Join the Decontext developer community (Discord/Forum coming soon).
Last updated