Rust/Soroban smart contracts for the OpenCred decentralized credential registry on Stellar.
OpenCred enables trustless, on-chain credential management:
- Issuance — authorized issuers register credential hashes on-chain
- Verification — anyone can verify a credential's authenticity and status
- Revocation — issuers can permanently revoke credentials
Credential documents are stored on IPFS. The blockchain stores only hashes, issuer/holder addresses, timestamps, and revocation status.
contracts/
└── credential_registry/ # Core registry contract (scaffold)
├── src/lib.rs
├── Cargo.toml
├── README.md
└── test/
Cargo.toml # Workspace root
- Soroban — Stellar smart contract platform
- Rust (edition 2021)
- Stellar SDK
rustup target add wasm32-unknown-unknown
cargo install --locked stellar-clicargo build --target wasm32-unknown-unknown --releasecargo test- One contract per directory under
contracts/ - No business logic merged until it has passing tests
- All on-chain storage decisions documented in the contract's
lib.rs - IPFS integration is off-chain; contracts only store hashes