36 lines
1.2 KiB
Markdown
36 lines
1.2 KiB
Markdown
title: Vyper
|
|
---
|
|
|
|
As of Embark 3.0, Vyper is supported out of the box. You only need to [install the compiler](https://vyper.readthedocs.io/en/latest/installing-vyper.html) yourself.
|
|
|
|
Embark's Vyper support means that any files with the extension `.vy` in the contracts directory will be deployed with the file name as the contract name, so, for instance, `contracts/Crowdfunding.vy` will be deployed as `Crowdfunding`.
|
|
|
|
To see Vyper in action, generate a new demo project by running:
|
|
|
|
<pre><code class="shell">$ embark demo</code></pre>
|
|
|
|
Inside the demo's root directory, remove `contracts/simple_storage.sol` and replace it with this file instead:
|
|
|
|
<pre><code class="python"># contracts/SimpleStorage.vy
|
|
storedData: public(uint256)
|
|
|
|
@public
|
|
def __init__(initialValue: uint256):
|
|
self.storedData = initialValue
|
|
|
|
@public
|
|
@payable
|
|
def set(x: uint256):
|
|
self.storedData = x
|
|
|
|
@public
|
|
def get() -> uint256:
|
|
return self.storedData
|
|
</code></pre>
|
|
|
|
This has exactly the same logic as its Solidity counterpart, so the tests will still pass:
|
|
|
|
<pre><code class="shell">$ embark test</code></pre>
|
|
|
|
The full documentation for Vyper can be found [here](https://vyper.readthedocs.io/en/latest/vyper-by-example.html)
|