# Introduction
# What is Proton?
Proton is a layer one proof-of-stake blockchain that leverages cutting-edge WebAssembly (WASM) (opens new window) smart contracts to enable high-performant, scalable and sustainable computation. Developers can leverage Proton to easily and securely build tokens, NFTs, exchanges, lending markets and much more.
Proton Smart Contracts use AssemblyScript (opens new window), a state of the art extension to Typescript (opens new window) that:
- builds to high performance WASM
- adds native types like u8, u16, u32, u64
- integrates with the existing web ecosystem
# Basic Smart Contract
A simple Proton smart contract has the structure:
import { Contract, print } from 'proton-tsc'
@contract("hello")
class HelloContract extends Contract {
@action("say")
say(text: string): void {
print(text);
}
}
To generate the WASM and ABI that you can upload to the Proton blockchain, simply run:
npx proton-asc hello.ts
Ready to begin your journey? Head on over to get started!