Pythonic Smart Contract Language for the EVM
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Go to file
Charles Cooper f0f9377748
chore: update tload/tstore opcodes per latest 1153 (#3484)
1 day ago
.github chore: fix era compiler tester workflow (#3477) 1 week ago
docs docs: fix borked formatting for rulesets (#3476) 1 week ago
examples refactor: remove mint arguments ERC1155 (#3263) 4 months ago
hooks fix version string generated in docker builds (#2566) 2 years ago
logo [ImgBot] optimizes images 5 years ago
tests chore: drop evm versions through istanbul (#3470) 1 week ago
vyper chore: update tload/tstore opcodes per latest 1153 (#3484) 1 day ago
.gitignore refactor: remove mint arguments ERC1155 (#3263) 4 months ago
.pre-commit-config.yaml chore: update linter, drop support for python 3.8 and 3.9 (#3325) 2 months ago
.readthedocs.yaml chore: update linter, drop support for python 3.8 and 3.9 (#3325) 2 months ago
Dockerfile chore: update published build to python 3.11 (#3385) 1 month ago
FUNDING.yml Update FUNDING.yml 4 years ago
LICENSE license: add copilot clause (#2848) 1 year ago
Makefile feat: build for aarch64 (#2687) 3 weeks ago
README.md chore: fix badges in README (#3428) 3 weeks ago
SECURITY.md doc: update broken links in SECURITY.md (#3095) 9 months ago
make.cmd chore: call init during freeze 3 years ago
pyproject.toml chore: update linter, drop support for python 3.8 and 3.9 (#3325) 2 months ago
quicktest.sh feat: add uint8 type (#2477) 2 years ago
requirements-docs.txt docs: new types, conversions, builtins (#2792) 1 year ago
setup.cfg chore: run `black` + `isort` (#2472) 2 years ago
setup.py feat: use new push0 opcode (#3361) 3 weeks ago
tox.ini chore: update black target to 3.11 (#3420) 3 weeks ago

README.md

Build Status Documentation Status Discord

PyPI Docker

Coverage Status Language grade: Python

Getting Started

See Installing Vyper to install vyper. See Tools and Resources for an additional list of framework and tools with vyper support. See Documentation for the documentation and overall design goals of the Vyper language.

See Learn.Vyperlang.org for learning Vyper by building a Pokémon game. See try.vyperlang.org to use Vyper in a hosted jupyter environment!

Note: Vyper is beta software, use with care

Installation

See the Vyper documentation for build instructions.

Compiling a contract

To compile a contract, use:

vyper your_file_name.vy

generate bytecode

vyper -f bytecode file-name.vy > file-name.bin

generate abi

vyper -f abi file-name.vy > file-name.abi

There is also an online compiler available you can use to experiment with the language and compile to bytecode and/or IR.

Note: While the vyper version of the online compiler is updated on a regular basis it might be a bit behind the latest version found in the master branch of this repository.

Testing (using pytest)

(Complete installation steps first.)

make dev-init
python setup.py test

Contributing

  • See Issues tab, and feel free to submit your own issues
  • Add PRs if you discover a solution to an existing issue
  • For further discussions and questions, post in Discussions or talk to us on Discord
  • For more information, see Contributing