Build AI-Powered dApps

Complete documentation for developing verifiable, privacy-preserving AI applications on the EmpoorioChain blockchain with zero-knowledge machine learning.

🚀 Quick Start

Get up and running with EmpoorioChain in under 5 minutes

Deploy Your First AI Contract

1

Install EmpoorioChain CLI

Download and install the EmpoorioChain command-line interface for development.

curl -fsSL https://get.EmpoorioChain.network | sh
2

Initialize Project

Create a new EmpoorioChain project with AI contract templates.

EmpoorioChain init hello-ai && cd hello-ai
3

Deploy to Testnet

Deploy your contract to the EmpoorioChain testnet for testing.

EmpoorioChain deploy --network testnet
4

Run AI Inference

Execute AI inference with zero-knowledge privacy.

EmpoorioChain ai infer bert-base "Hello, world!" --network testnet
Terminal
# Quick Start - Deploy Your First AI Contract

# 1. Install EmpoorioChain CLI
curl -fsSL https://get.EmpoorioChain.network | sh

# 2. Initialize project
EmpoorioChain init hello-ai
cd hello-ai

# 3. Create AI contract
EmpoorioChain new contract ai-oracle

# 4. Deploy to testnet
EmpoorioChain deploy --network testnet

# 5. Run inference
EmpoorioChain ai infer bert-base "Hello, world!" --network testnet

🔐 ZK-ML in Action

See how zero-knowledge machine learning enables privacy-preserving AI inference

ZK-ML Contract Example
1// ZK-ML Inference with Privacy
2use cosmwasm_std::{entry_point, Binary, Deprecation, Env, MessageInfo, Response, StdResult};
3use EmpoorioChain_ai::{ZKVerifier, InferenceRequest, InferenceResponse};
4
5#[entry_point]
6pub fn execute(
7    deps: Deprecation,
8    env: Env,
9    info: MessageInfo,
10    msg: ExecuteMsg,
11) -> StdResult<Response> {
12    match msg {
13        ExecuteMsg::PrivateInference { input, proof } => {
14            // Verify ZK proof without revealing input
15            let verifier = ZKVerifier::new()?;
16            let is_valid = verifier.verify_proof(&proof)?;
17
18            if !is_valid {
19                return Err(StdError::generic_err("Invalid ZK proof"));
20            }
21
22            // Run inference (computation already verified)
23            let result = EmpoorioChain_ai::run_verified_inference(input)?;
24
25            Ok(Response::new()
26                .add_attribute("action", "private_inference")
27                .add_attribute("result", result.output)
28                .add_attribute("privacy", "zk_proven"))
29        }
30    }
31}