👑 Nim Contract Language


#1

Hi Everyone!

I have started playing around with the concept of using Nim as base for a eWasm contract language. The idea would be to take a lot of the lessons of Vyper and combine that with nim macros to produce a contract oriented nim subset Currently this is the base interface I am aiming towards:

contract("MyContract"):

  proc hello(): uint256 =
    return 123

  proc addition(a: uint256, b: uint256): uint256 =
    return a + b

With the contract block macro annotating the interface to the contract. I am still very early in shaping what this nim-subset will look like (and what toolsets I will be using to build it with) and therefore am open to suggestions :slight_smile: If you have any good ideas please join me on the call on Friday so we can discuss them!

The draft proposal for the swarm is located at: https://notes.status.im/g43KPWc-RL2kzMb2XPS9rg
The current hack-repo: https://github.com/jacqueswww/nim-eth-contracts

If you have any feedback or ideas on the proposal, please join the discussion call on
Call Link: https://meet.google.com/zsw-cues-jjg
Date: 11:00 UTC on Friday the 7th of June.


#2

Woop woop, this is really exciting stuff!

Do you mean Friday the 7th or today? In https://notes.status.im/g43KPWc-RL2kzMb2XPS9rg# it says Wednesday and a different time.


#3

I did mean the 7th yes, updated the date above. Thanks! :slight_smile: