Zen Protocol Documentation
WebsiteTelegramBlogForum
  • Zen Protocol Docs
  • Apps
    • Headless Full Node
      • Full Node NPM Package
      • Build from Source
      • CLI
      • API
        • Wallet
        • Contracts
        • General
        • Blockchain
        • AddressDB
      • Deploy
        • Systemd
        • Shell script
        • Docker
      • Technical Model
      • AddressDB
    • Wallet
      • Desktop Wallet
        • Installers
      • Web Wallet
        • Run Locally
      • Wallet User Guide
        • Connect a Wallet
          • Create a Wallet
          • Import a Wallet
          • Watch Mode
        • My Wallet
          • Navigation Bar
          • Portfolio
          • Receive
          • Send / Execute
          • Transaction History
        • Contracts
          • Active Contracts
          • Execute a Contract
            • Message Body Field
          • Extend a Contract
          • Activate a Contract
        • Voting
          • Common Goods Pool
            • Generating a Ballot ID
          • Governance
        • Signer
        • Settings
          • Account Settings
          • Node Connectivity
      • Deprecated Desktop Wallet
        • Executable Installers
        • Wallet Structure
          • Video Tutorials
    • Explorer
    • Zen.js
      • Payment Processing
    • Oracle
      • Oracle GUI
      • Oracle Service
      • Oracle's API
      • Deploy
        • Systemd
        • Docker
      • How the Oracle contract works
      • How to create an Attestation token
    • Dex
      • Dex User Guide
        • Traded Pairs
        • Search Pairs
        • Order Book
        • Operations
        • My Wallet
        • Settings
      • How DEX contract works
    • Fixed Payout
      • Fixed Payout Generator User Guide
        • Issue
        • Redeem
        • Cancel
        • Verify
        • Settings
      • How the FP Contract works
      • How are the asset named?
  • Smart Contracts
  • Contract Structure
  • Contract Cost
  • Contract Activation
  • Contract Examples
  • Smart Contracts SDK
  • Contracts Language ZF*
  • Named Token Tutorial
  • Consensus
  • Common Goods Pool
  • Block Validation
  • Transaction Validation
  • Serialization
  • Use Cases
    • Create Unsigned Transaction
    • Secure Sign Transaction
    • Cold Storage using Full Node
  • Troubleshooting
    • Responsible Disclosure
    • Bug Bounty
    • Known Bugs
  • For Miners
    • Pools
    • GPU Mining
    • GPU Bounties
  • Check Crowdsale Contribution
  • Alpha call option
Powered by GitBook
On this page

Contracts Language ZF*

Documentation for the ZF* (pronounced "Z-F-Star") dialect of F*

PreviousSmart Contracts SDKNextNamed Token Tutorial

Last updated 6 years ago

ZF* is the smart contracting language for the Zen Protocol. ZF* is a dialect of the .

Prerequisites

Before beginning to develop with ZF*, it is worth developing familiarity with a statically typed functional language, such as , , or . It's worth skimming through the . Note that the F* tutorial also assumes familiarity with F#, OCaml, or Haskell.

Recommended resources

F# ( Online ) * * * * F# ( Books ) * * OCaml ( Online ) * * (Dev version) OCaml ( Books ) * (Slightly out of date. Use the online dev version for more up-to-date information) Haskell ( Online ) * Haskell ( Books ) *

F* language
F#
OCaml
Haskell
F* tutorial
F# Programming WikiBook
F# for C#, Java or Python developers
F# Cheat Sheet
Learn F# in Y Minutes
Real-World Functional Programming
Expert F# 4.0
OCaml Tutorials
Real World OCaml
Real World OCaml
Learn You a Haskell for Great Good!
Learn You a Haskell for Great Good!