Vyper
v0.3.2
Overview
Getting Started
Installing Vyper
Vyper by Example
Language Description
Structure of a Contract
Types
Environment Variables and Constants
Statements
Control Structures
Scoping and Declarations
Built in Functions
Interfaces
Event Logging
NatSpec Metadata
Using the Compiler
Compiling a Contract
Compiler Exceptions
Deploying a Contract
Testing a Contract
Additional Resources
Release Notes
Contributing
Style Guide
Vyper Versioning Guideline
Vyper
»
Vyper
Edit on GitHub
Vyper
ΒΆ
Overview
Principles and Goals
Getting Started
Installing Vyper
Docker
PIP
nix
Vyper by Example
Simple Open Auction
Blind Auction
Safe Remote Purchases
Crowdfund
Voting
Company Stock
Language Description
Structure of a Contract
Version Pragma
State Variables
Functions
Events
Interfaces
Structs
Types
Value Types
Reference Types
Initial Values
Type Conversions
Environment Variables and Constants
Environment Variables
Built In Constants
Custom Constants
Statements
Control Flow
Event Logging
Assertions and Exceptions
Control Structures
Functions
if
statements
for
loops
Scoping and Declarations
Variable Declaration
Scoping Rules
Built in Functions
Bitwise Operations
Chain Interaction
Cryptography
Data Manipulation
Math
Utilities
Interfaces
Declaring and using Interfaces
Importing Interfaces
Built-in Interfaces
Implementing an Interface
Extracting Interfaces
Event Logging
Example of Logging
Declaring Events
Logging Events
Listening for Events
NatSpec Metadata
Example
Tags
Documentation Output
Using the Compiler
Compiling a Contract
Command-Line Compiler Tools
Online Compilers
Setting the Target EVM Version
Compiler Input and Output JSON Description
Compiler Exceptions
CompilerPanic
Deploying a Contract
Testing a Contract
Testing with Brownie
Testing with Ethereum Tester
Additional Resources
Release Notes
v0.3.2
v0.3.1
v0.3.0
v0.2.16
v0.2.15
v0.2.14
v0.2.13
v0.2.12
v0.2.11
v0.2.10
v0.2.9
v0.2.8
v0.2.7
v0.2.6
v0.2.5
v0.2.4
v0.2.3
v0.2.2
v0.2.1
v0.1.0-beta.17
v0.1.0-beta.16
v0.1.0-beta.15
v0.1.0-beta.14
v0.1.0-beta.13
v0.1.0-beta.12
v0.1.0-beta.11
v0.1.0-beta.10
v0.1.0-beta.9
Prior to v0.1.0-beta.9
Contributing
Types of Contributions
How to Suggest Improvements
How to Report Issues
Fix Bugs
Style Guide
Workflow for Pull Requests
Style Guide
Project Organization
Code Style
Tests
Documentation
Internal Documentation
Commit Messages
Vyper Versioning Guideline
Motivation
Version Types
Pull Requests
Communication