spacemeshos / SMIPS

Spacemesh Improvement Proposals
https://spacemesh.io
Creative Commons Zero v1.0 Universal
7 stars 1 forks source link

Simple-Coin Integration #73

Closed YaronWittenstein closed 2 years ago

YaronWittenstein commented 2 years ago

Simple-Coin Integration

Overview

This document outlines an incremental plan of integrating SVM into go-spacemesh such that in the end, we'll be able to execute Simple-Coin transactions using SVM while having all the required features for Mainnet.

That said, this piece assumes that an Account Nonce is simply an increasing counter. In other words, the Generalized Nonces Schemes is out of scope for this SMIP.

The implications are that implementing other future Templates such as Vault with vesting features won't be possible yet. Writing a future SMIP such as Vesting Vaults Integration might make sense to address the missing parts.

Goals and Motivation

We want to integrate SVM into go-spacemesh to run Simple-Coin transactions through SVM. This document details how to do that on iterations, such that each iteration builds upon its previous one by adding new features.

High-level design

Iteration 1

Outcome

Integrating SVM into go-spacemesh for the 1st time!

What should be implemented?

What would be possible?

What won't be possible yet?

Notes


Iteration 2

Outcome

Being able to release a TestNet

What should be implemented?

What would be possible?

What won't be possible yet?

Notes


Iteration 3

Outcome

Supporting Immutable Storage as part of Account Storage.

What should be implemented?

What would be possible?

What won't be possible yet?


Iteration 4

Outcome

Being able to Self Spawn new Accounts

What should be implemented?

What would be possible?

What won't be possible yet?


Questions/concerns

N/A

Stakeholders and reviewers

@noamnelke @lrettig @neysofu @avive @moshababo

noamnelke commented 2 years ago

That means we need to put any Immutable-like variable into Section 0

And... put any Mutable-like variable into other sections (assuming only section 0 will eventually be immutable).

avive commented 2 years ago

I've got nothing to add besides an observation I'd like to make: once iteration 1 starts more tasks will surface so it is best just to start it even w/o fully committing on the future iterations as they are going to be affected so most important thing is just to agree on outcomes and to move to building asap.

YaronWittenstein commented 2 years ago

I've got nothing to add besides an observation I'd like to make: once iteration 1 starts more tasks will surface so it is best just to start it even w/o fully committing on the future iterations as they are going to be affected so most important thing is just to agree on outcomes and to move to building asap.

avive commented 2 years ago

lol, however these words of wisdom didn't prevent Mike from promoting shitcoins...

YaronWittenstein commented 2 years ago

See the Simple Coin Integration Epics