Giter VIP home page Giter VIP logo

solidity-blog's People

Contributors

axic avatar bshastry avatar cameel avatar chriseth avatar dependabot[bot] avatar edisinovcic avatar ekpyron avatar elenadimitrova avatar evertonfraga avatar franzihei avatar hrkrshnn avatar johnoseni1 avatar matheusaaguiar avatar nunofilipesantos avatar pcaversaccio avatar r0qs avatar wackerow avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

solidity-blog's Issues

[Blog Post] New Inheritance System

We want to write a blog post about the new inheritance system. It will be part of the Solidity 0.6.x features series.

Workflow

  • @elenadimitrova draft post on HackMD
  • @chriseth (technical) accuracy review on HackMD
  • @franzihei style/content review on HackMD
  • create PR in this repo
  • final review
  • merge PR / publish blog post

Deadline

This post should be published until XX/XX/XXXX.

Link to draft post on HackMD

SMTChecker Update

We want to update the community more regularly about what we're working on. As part of this effort, let's write about what's the lastest news / interesting stuff happening in SMTChecker land. :)

[Blog Post] Memory Creation Overflow Bug

We want to write a blog post outlining the memory creation overflow bug, which has been reported on March 28th.

Workflow

  • @ekpyron to draft post
  • @chriseth (technical) accuracy review
  • @franzihei style/content review
  • merge PR / publish blog post once v0.6.5 is released

Deadline

This post should be published alongside with the next Solidity release (v0.6.5), presumably Monday, 6th of April.

Link to draft post

#13

Make a post of every release?

I think if we were to do this, it should contain the short intro from the release page (and perhaps the changelog) and the link to the release. But I wouldn't copy paste the entire release page with all the different links.

Any opinions?

Also not suggesting we should do this retroactively for every release, but we may as well if it can be automated. Probably there is a github API to download the release text.

5-year retrospect article

Solidity 0.1.0 will be 5 years on the 10th of July.

Perhaps it is worth commemorating this with some retrospect how the project, team, language, and ecosystem has changed over time?

May be combined with #69.

@chriseth @franzihei opinion?

How to add a max limit on the burn function with solidity?

How to add a max limit on the burn function with solidity? Actually accumulating the max amount of tokens and triggering the burn function as soon as the max amount reaches? That is, the fee is paid by the end user who reaches the limit. We don't want this situation to happen, what can we do alternatively? Can you help me? Thank you.

Solidity Underhanded Contest Announcement

Once Sol Underhanded website is ready and live at the right domain summarize the content and make an official announcement on the Solidity blog about the contest.

Figure out why Netlify tests always fail with PRs and fix it

One problem seems to be:

4:57:42 PM: Your bundle is locked to octokit (4.17.0), but that version could not be found
4:57:42 PM: in any of the sources listed in your Gemfile. If you haven't changed sources,
4:57:42 PM: that means the author of octokit (4.17.0) has removed it. You'll need to update
4:57:42 PM: your bundle to a version other than octokit (4.17.0) that hasn't been removed in
4:57:42 PM: order to install.

Solidity 0.6.x features: Overview of topics for the series

moved from ethereum/solidity#8057

TO DO before 0.7:

  • virtual and override, public vars can override external functions, abstract contracts, no state variable shadowing #38
  • push(element) / push() / disallow write access to .length

Done:

  • fallback / receive split
  • try/catch
  • array slices

Postpone / possibly mention in other blog posts:

  • global enums and structs (can be covered alongside free functions explanation)
  • type(a**x) = type(a), payable(x) conversion for address, f.address instead of address(f)
  • _ delimiter for hex strings
  • ABIEncdoreV2 no longer experimental, yul optimizer activated together with standard optimizer
  • new error reporter
  • disable metadata hash / switch to ipfs / swarm
  • modifier depth in source mappings
  • multiple @returns statements in natspec
  • yul / inline assembly: leave

Team introduction article

Would an article about past and present team members (and special mentions of external contributors?) make sense?

Or perhaps a short interview article with each members, one at a time?

@chriseth @franzihei opinion?

Post about Compiler Binaries

From @cameel's explanation:

Should we also describe the situation with binaries and rebuilds here? It goes more or less like this:

  • Originally solc-bin contained only platform-independent emscripten binaries that run via solc-js. For example Remix IDE uses them to compile code in the browser. These were asm.js binaries, which means it's just JavaScript and not very fast.
  • Around 0.6.2 we started building emscripten binaries as wasm. They're faster and for that reason @ekpyron rebuilt older binaries in solc-bin to wasm.
  • Somewhere in the 0.7.x release cycle people requested adding native binaries to solc-bin as well (ethereum/solidity#9226). I gathered them from the release pages and added them to solc-bin. I also reorganized the directory structure a bit.
  • This did not include macOS native builds for many versions because we only started doing them in 0.6.9. So I did builds for older versions (down to 0.3.6) and added them to solc-bin.
  • Around the same time I also replaced Emscripten 0.4.15, 0.5.9, 0.5.11 in solc-bin with versions from the release page because they were different (ethereum/solc-bin#57).
  • Late last year we discovered that macOS binaries for 0.3.6-0.6.0 do not produce identical bytecode as the others which hinders verification (ethereum/solidity#10183). The bytecode they produce is valid but they have a slightly different version string which makes the metadata hash included in the bytecode different.
  • I have rebuilt the macOS binaries and replaced the ones that were already in solc-bin (ethereum/solc-bin#76).
    • As a result checksums on the file list changed. Anyone using the old list to verify the binaries would get an errror trying to verify it against the new binaries.
      • Our policy is to avoid removing or modifying files already added to solc-bin but we have decided that leaving faulty ones there would cause more harm than good.
    • Many tools cache the list and do not redownload it if it's already available. That's for example what Hardhat used to do and it caused hard to understand breakage for people using it. As a result they decided to work around it by redownloading the list when the hash does not match (NomicFoundation/hardhat#1392).
      • The fix PR also included a change from solc-bin.ethereum.org to binaries.soliditylang.org. The change was fine but not really necessary to fix the issue. It, however, made people think that the domain was the cause of the breakage.
  • As a part of macOS rebuilds I made an effort to actually verify that release binaries for the same version actually do produce the same bytecode on all platforms.
    • This revealed some irregularities and as result we did some more fixes:
    • And there are also a few still pending:
      • Replacing Linux 0.4.26 which inexplicably produces differerent (but still valid) bytecode on a single test case out of the 5000 we have (ethereum/solc-bin#80).
      • Windows 0.4.15 reports its version as a nightly and we're going to rebuild it (ethereum/solidity#9545).
      • Emscripten 0.3.6 was not built from the exact commit tagged as 0.3.6 but rather one before and therefore reports slightly different version (ethereum/solidity#10846).

This is probably way too detailed to post as a whole but we could at least mention something about the problem with checksums.

Link to the original discussion here.

[Blog Post] Immutable feature

We want to write a blog post about the new immutable feature. It will be part of the Solidity 0.6.x features series.

Workflow

  • @chriseth or @ekpyron to draft post on HackMD
  • (technical) accuracy review on HackMD
  • @franzihei style/content review on HackMD
  • create PR in this repo
  • final review
  • merge PR / publish blog post

Deadline

This post should be published until XX/XX/XXXX.

Link to draft post on HackMD

[Blog Post] Array-related bug

We want to write a blog post outlining "array-related bug" see
ethereum/solidity#8560.

Workflow

  • XX to draft post
  • XX (technical) accuracy review
  • @franzihei style/content review
  • merge PR / publish blog post once vXX is released

Deadline

This post should be published alongside with the XXXX Solidity release (vXX), presumably on XXXXXX.

Link to draft post

[Blog Post] Yul-Phaser

We want to write a blog post outlining the work done on the Yul-Phaser.

Workflow

Deadline

This post should be published by XX .

Link to draft post

Fuzzer Update

We want to update the community more regularly about what we're working on. As part of this effort, let's write about what's the lastest news / interesting stuff happening in the fuzzing land. :)

Optimizer Update

We want to update the community more regularly about what we're working on. As part of this effort, let's write about what's the lastest news / interesting stuff happening in optimizer land. :)

Summit closing blog post

Shouldn't there be a closing blog post listing all the video links? Or linking to the archive site?

Likewise, how about the findings from the summit surveys? They were posted on twitter, it would be nice to have them shared in a post too.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.