Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Production ready? #279

Closed
yograterol opened this issue Jul 24, 2017 · 9 comments
Closed

Production ready? #279

yograterol opened this issue Jul 24, 2017 · 9 comments
Labels

Comments

@yograterol
Copy link
Contributor

Hi,

Is Viper production-ready?

@beaugunderson
Copy link
Contributor

@yograterol it might help to define the characteristics that would make a language production-ready for you :)

@yograterol
Copy link
Contributor Author

@beaugunderson of course, I want to know if Viper is mature and if I should use Viper over Solidity in new projects. I think the answer is yes, but I would want to be sure. Thanks

@vbuterin
Copy link
Contributor

I would say not yet; I advise playing around and building things on it, but waiting for a security audit before releasing serious projects that deal with money on top of it.

@yograterol
Copy link
Contributor Author

I would close this issue, we could add it message to the README.

@fubuloubu
Copy link
Member

fubuloubu commented Aug 2, 2017

One aspect of production ready is being feature-complete for a release candidate to perform the audit on. There are still 1-2 unimplemented features I think? #297, #295

Next I would say is functional testing. I don't think we have a set of tests that visibly proves the main features are correctly implemented. We need this to ensure that subsequent releases don't break currently provided features. I wanted to work on that. 100% coverage testing is somewhat important too, being a compiler, but I wouldn't argue vital at this point.

Besides a security audit, I would also argue a user experience audit would be nice to ensure all error messages are clear and precise and the language grammar is clear, easy to use, and well-documented.

Thoughts?

@yograterol
Copy link
Contributor Author

yograterol commented Aug 2, 2017

@fubuloubu you've some points.

#297 and #205 are required features to a complete implementation of some smart contracts.

The 100% tests coverage is a MUST to the first release.

Security and UX are important too, in the doc I will add all error messages from that point the community will be able to make proposals to change it.

I propose this milestone to reach the version 1.0 BETA

Why Beta?

Because I believe Viper needs to have #296 (Debugging tool) to reach 1.0.

@fubuloubu
Copy link
Member

fubuloubu commented Aug 2, 2017

100% functional tests written/passed, 95% coverage (coverage is hard lol)
Functional tests need requirements, is there a good resource for the exact requirements? I only know about the following as a specific language features (besides the clearer syntax):

  • gas estimation
  • overflow/bounds checking

IMO security audit and UX audit isn't required for a beta. This language compiles to bytecode, so you don't HAVE to put it into to deploy a real contract to prove that ethereum integration works. Asking people to play with viper on testnet should be the beta phase (getting comments, bugs, etc. as a result). I would say don't trust viper with real money until 1st release (not beta), which we make the security audit a necessary gate to (for 1.0.0-rc) so you don't have to redo that work. A quick breeze-through to make sure nothing we're doing is inherantly unsafe is nice though.

Landing Page, use GitHub docs? Does it need something more complicated than a show of the docs and some examples?

@fulldecent
Copy link
Contributor

fulldecent commented Jun 16, 2018

Please create an objective criteria for closing this issue. I propose:

  • Identify all issues blocking a 1.0 release
  • Create those issues
  • Add a 1.0 milestone, add those issues
  • Close this issue

@fubuloubu
Copy link
Member

Closing this issue, other issues blocking the first 0.1.0rc1 are being tracked here: https://github.com/ethereum/vyper/projects/6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants