Skip to content

feat: add provider and user CLI tools #13

@Wilbert957

Description

@Wilbert957

Background

The billing proxy currently lacks CLI tooling for provider setup and user interactions. All on-chain operations require manual scripting.

Provider CLI (cmd/provider)

provider init-service \
  --rpc <url> --chain-id <id> --contract <addr> \
  --key <provider-private-key> \
  --tee-signer <tee-eth-address> \
  --url <service-url> \
  --price <neuron-per-sec> \
  --create-fee <neuron>
  • Calls addOrUpdateService with provider ≠ TEE signer (real TEE deployment)
  • Optional: withdraw, service-status

User CLI (cmd/user)

user deposit    --rpc ... --contract ... --key ... --provider <addr> --amount <0G>
user acknowledge --rpc ... --contract ... --key ... --provider <addr>
user balance    --rpc ... --contract ... --address ... --provider <addr>
user create     --api <billing-proxy-url> --key ...
user list       --api <billing-proxy-url> --key ...
user stop       --api <billing-proxy-url> --key ... --id <sandbox-id>

Provider Deployment Flow

  1. tapp-cli start-app — deploy billing proxy to TEE server
  2. provider init-service — register service on-chain (provider key + TEE signer address)
  3. Share API URL + contract address with users

Notes

  • Contract can be 0G official canonical deployment (shared) or provider-deployed
  • cmd/setup remains as dev/test-only single-account tool
  • User sandbox operations require EIP-191 signed requests to billing proxy

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions