diff --git a/docs/monthly-update/2022/10.md b/docs/monthly-update/2022/10.md new file mode 100644 index 0000000000..e5d0c1f480 --- /dev/null +++ b/docs/monthly-update/2022/10.md @@ -0,0 +1,117 @@ +--- +title: October '22 +slug: /monthly-update/2022/10 +--- + +## Polkadot Blockchain Academy: Jan/Feb '23 🎓 + + + +In July we spent some time in Cambridge on a secret mission. +At the time we teased this in our monthly update and said we'd +give more details soon. Well, the cat (or rather squid?) is out +of the bag! + +We were holding lectures on WebAssembly smart contracts as part +of the Polkadot Blockchain Academy! This was the first, intentionally +low-key, run of a Polkadot education program with an academic +focus. This first run was low-key to smooth out the edges and verify +if our idea of a curriculum worked out in the real world. +It did and there will be many more academies! Starting with the next +one, which is happening in January and February 2023 in Buenos Aires. + +We will also be giving lectures there again! You can find more +details on [http://dot.li/academy](http://dot.li/academy). + +## Astar ported Uniswap v2 to ink! 💱 + +Astar has published a showcase Dapp built with ink!: +a Uniswap-V2 DEX. This is amazing and we can't wait to +see where this is going! + +They are working on a UI for the DEX as well. You can find +the repository here: +[`AstarNetwork/wasm-showcase-dapps`](https://github.com/AstarNetwork/wasm-showcase-dapps). + +## Release Updates 🆕 + +We've published a release of ink! [`v3.4`](https://github.com/paritytech/ink/releases/tag/v3.4.0) +this month. + +For ink! `v4.0` and `cargo-contract` `v2.0` we decided to shift our +target release date a bit, to January 2023. There are a number of +reasons why we decided to do this: + +* We have made a number of breaking changes and want to wait until popular + user interfaces (like [`polkadot-js`](https://polkadot.js.org/apps/) or + [`contracts-ui`](https://contracts-ui.substrate.io/)) support those. +* We want to have a release candidate out for at least some weeks to give + everyone the chance to already upgrade tooling and provide feedback. +* We have an audit going on and would ideally like to incorporate more + of the results. + +A breaking change that has formed in the last weeks is that we +will have to remove [`ink_env::random`](https://docs.rs/ink_env/3.3.1/ink_env/fn.random.html). +This function allowed contract developers getting random entropy. +There is unfortunately no way how this can be done safely enough +with built-in Substrate primitives on-chain currently. We're +following the recommendation of our auditors to remove it. + +The alternative right now is to provide random entropy off-chain to +the contract, to use a random entropy oracle, or to have a chain-extension +that does this, in case the chain has a possibility to do so. + +We hope to bring this function back in a future release of ink!, the +best hope right now is that it could come back with [Sassafras](https://wiki.polkadot.network/docs/learn-consensus#badass-babe-sassafras), a block production +protocol for future versions of Polkadot. + +## Conference Season 📢 + +Many from our team have been on the road in the last weeks. +You might have met us at DappCon, DevCon, or EuroRust. + +There's more to come and a number of us will be at [sub0 in +Lisbon at the end of November '22](https://sub0.polkadot.network/). +We have two events scheduled there, a talk and a fireside chat. +Come by and talk to us if you're there! + +## Blog Post on `wasm-opt-rs` 🙌 + +[Brian Anderson](https://github.com/brson) wrote a blog post on [his +Web3 Foundation grant](https://github.com/w3f/Grants-Program/pull/1070) +to get rid of `wasm-opt` as an external dependency for `cargo-contract`. + +This was a contribution that we looked forward to a lot. +External dependencies cause so much user friction. For once, it's +another step in the installation, which is not always straight forward +and different for each operating system. +There's other issues too, we don't have control over which +version of the dependency is installed on the local system and +have to throw errors for the user, causing more user friction. + +All of this is just solved now by having [`wasm-opt`](https://crates.io/crates/wasm-opt) +be a direct dependency of `cargo-contract`. + +The blog post is an interesting read, you can find it on +Brian's blog [here](https://brson.github.io/2022/10/26/creating-wasm-opt-rust-bindings-with-cxx). + +## Solang Solidity compiler incubated into Hyperledger Foundation 🎉 + +ink! contracts are executed by Substrate's [`pallet-contracts`](/how-it-works); +besides ink! there are two other languages that you can use to +write smart contracts for this pallet: [ask!](https://github.com/ask-lang/ask) +(Assembly Script) and Solidity via [the Solang compiler](https://github.com/hyperledger-labs/solang). + +Solang supports different blockchains as compiler targets, one +of them being `pallet-contracts`. Our colleague [@xermicus](https://github.com/xermicus) +is working full-time on this Substrate backend in Solang. + +The project has now been incubated into the Hyperledger Foundation, +hosted by the Linux Foundation. This is a big recognition for +the project! + +In ink!, supporting a symbiotic interaction with Solidity contracts +is an important part of the puzzle for us and we're looking forward +to the next stages of Solang. + +More details can be found [in the announcement blog post](https://www.hyperledger.org/blog/2022/09/12/meet-hyperledger-solang-a-portable-solidity-compiler). \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index a2acffd2b6..252fd50bf6 100644 --- a/sidebars.js +++ b/sidebars.js @@ -10,6 +10,7 @@ module.exports = { ], 'Monthly Update': [ 'monthly-update/overview', + 'monthly-update/2022/10', 'monthly-update/2022/09', 'monthly-update/2022/08', 'monthly-update/2022/07', diff --git a/versioned_sidebars/version-4.0.0-alpha.1-sidebars.json b/versioned_sidebars/version-4.0.0-alpha.1-sidebars.json index b5ccae24e0..91834091ed 100644 --- a/versioned_sidebars/version-4.0.0-alpha.1-sidebars.json +++ b/versioned_sidebars/version-4.0.0-alpha.1-sidebars.json @@ -10,6 +10,7 @@ ], "Monthly Update": [ "monthly-update/overview", + "monthly-update/2022/10", "monthly-update/2022/09", "monthly-update/2022/08", "monthly-update/2022/07",