SlideShare a Scribd company logo
1 of 17
Download to read offline
Algumas
Novidades da
Versão 0.6.x
Jeff Prestes - 2020-03-30
Agradecimentos e Creditos
Apresentação baseada no material do prof. Gerard Persoon da Universidade de
Ciências Aplicadas de Haia
Agradeço do prof. Gerard por gentilmente compartilhar o material.
Mais detalhes dos fontes originais de exemplo em:
https://github.com/web3examples/ethereum/blob/master/solidity_examples/
Meus exemplos melhorados estão em:
https://github.com/jeffprestes/ethereum-examples-hague-univ/solidity_examples
Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
Tipos Globais
https://github.com/web3examples/ethereum/blob/master/solidity_examples/sol6_globaltypes.sol
Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
Funções Fallback & Receive
https://github.com/jeffprestes/ethereum-examples-hague-univ/blob/master/solidity_examples/sol6_fall
backreceive.sol
Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
Nova forma de excluir item de array
https://github.com/web3examples/ethereum/blob/master/solidity_examples/sol6_mapping.sol
Usar ListParticipant.pop() ao invés de ListParticipant.length--
Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
push
Não retorna mais o índice do novo elemento. Aliás, push(novoValor) retorna nada.
https://solidity.readthedocs.io/en/v0.6.0/types.html#array-members
Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
ABIEncoderV2
Não é mais considerado experimental, só mantiveram a sintaxe por
retrocompatibilidade: https://solidity.readthedocs.io/en/v0.6.4/layout-of-source-files.html#abiencoderv2
Não usar com o otimizador:
https://solidity.readthedocs.io/en/v0.6.4/060-breaking-changes.html#yul-optimizer
Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
Novas features em herança: virtual e override
https://github.com/web3examples/ethereum/blob/master/solidity_examples/sol6_override.sol
Este artigo explica em detalhes:
https://forum.openzeppelin.com/t/how-we-plan-to-adopt-solidity-0-6-virtual-functions/2063
Aqui outros exemplos: https://solidity.readthedocs.io/en/v0.6.0/contracts.html#inheritance
Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
Multiplas sobrecargas de método
https://github.com/web3examples/ethereum/blob/master/solidity_examples/sol6_overridemultiple.sol
Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
Métodos Abstratos
https://github.com/web3examples/ethereum/blob/master/solidity_examples/sol6_abstract.sol
Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
Melhoria no compilador: alerta de "shadowing"
https://github.com/web3examples/ethereum/blob/master/solidity_examples/sol6_shadowing.sol
Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
Polêmico: try catch
https://github.com/web3examples/ethereum/blob/master/solidity_examples/sol6_trycatch.sol
Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
Casting de address para address payable
https://github.com/jeffprestes/ethereum-examples-hague-univ/blob/master/solidity_examples/sol6_addr
payablecasting.sol
Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
Fatias de um array ou Array Slices
https://github.com/web3examples/ethereum/blob/master/solidity_examples/sol6_slice.sol
Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
Natspec - Pequena melhoria na doc gerada no retorno
https://github.com/jeffprestes/ethereum-examples-hague-univ/blob/master/solidity_examples/sol6_nats
pec.sol
Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
Mudança de como obter Endereços de funções externas
https://github.com/jeffprestes/ethereum-examples-hague-univ/blob/master/solidity_examples/sol6_addr
essexternal.sol
Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
That's all folks!
https://linkedin.com/in/jeffprestes
Mande PR ou dê uma estrela no repo dos exemplos
https://github.com/jeffprestes
E adicione-me no seu Linkedin

More Related Content

Similar to Novidades da Versão 0.6.x do Solidity

Serena DevOps Drive In - Patrick Debois Live on DevOps: 5 Years in, what does...
Serena DevOps Drive In - Patrick Debois Live on DevOps: 5 Years in, what does...Serena DevOps Drive In - Patrick Debois Live on DevOps: 5 Years in, what does...
Serena DevOps Drive In - Patrick Debois Live on DevOps: 5 Years in, what does...Serena Software
 
WordPress Theming: Getting Started
WordPress Theming: Getting StartedWordPress Theming: Getting Started
WordPress Theming: Getting Startedprofessor44
 
A Deep Dive into the W3C WebDriver Specification
A Deep Dive into the W3C WebDriver SpecificationA Deep Dive into the W3C WebDriver Specification
A Deep Dive into the W3C WebDriver SpecificationPeter Thomas
 
Ganeti Web Manager: Cluster Management Made Simple
Ganeti Web Manager: Cluster Management Made SimpleGaneti Web Manager: Cluster Management Made Simple
Ganeti Web Manager: Cluster Management Made SimpleOSCON Byrum
 
GitHub Data and Insights
GitHub Data and InsightsGitHub Data and Insights
GitHub Data and InsightsJeff McAffer
 
Dave de Roure - The myExperiment approach towards Open Science
Dave de Roure - The myExperiment approach towards Open ScienceDave de Roure - The myExperiment approach towards Open Science
Dave de Roure - The myExperiment approach towards Open Scienceshwu
 
Mahout Introduction BarCampDC
Mahout Introduction BarCampDCMahout Introduction BarCampDC
Mahout Introduction BarCampDCDrew Farris
 
EJME: enriched journal articles with OJS, 2011-10-19
EJME: enriched journal articles with OJS, 2011-10-19EJME: enriched journal articles with OJS, 2011-10-19
EJME: enriched journal articles with OJS, 2011-10-19Driek Heesakkers
 
Feature flags, a/b testing, canary amd split traffic ~ hail new agile po
Feature flags, a/b testing, canary amd split traffic ~ hail new agile poFeature flags, a/b testing, canary amd split traffic ~ hail new agile po
Feature flags, a/b testing, canary amd split traffic ~ hail new agile poDiego Pacheco
 
The New Design Workflow
The New Design WorkflowThe New Design Workflow
The New Design WorkflowPhase2
 
Apache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentationApache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentationArnaud Héritier
 
An introduction to juice
An introduction to juice An introduction to juice
An introduction to juice juiceproject
 
Joomla Day Austin Part 4
Joomla Day Austin Part 4Joomla Day Austin Part 4
Joomla Day Austin Part 4Kyle Ledbetter
 
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...Anne Nicolas
 
Presentation distro recipes-2013
Presentation distro recipes-2013Presentation distro recipes-2013
Presentation distro recipes-2013olberger
 
Spring method-level-secuirty
Spring method-level-secuirtySpring method-level-secuirty
Spring method-level-secuirtySoham Sengupta
 

Similar to Novidades da Versão 0.6.x do Solidity (20)

MDST 3703 F10 Studio 1
MDST 3703 F10 Studio 1MDST 3703 F10 Studio 1
MDST 3703 F10 Studio 1
 
Serena DevOps Drive In - Patrick Debois Live on DevOps: 5 Years in, what does...
Serena DevOps Drive In - Patrick Debois Live on DevOps: 5 Years in, what does...Serena DevOps Drive In - Patrick Debois Live on DevOps: 5 Years in, what does...
Serena DevOps Drive In - Patrick Debois Live on DevOps: 5 Years in, what does...
 
WordPress Theming: Getting Started
WordPress Theming: Getting StartedWordPress Theming: Getting Started
WordPress Theming: Getting Started
 
A Deep Dive into the W3C WebDriver Specification
A Deep Dive into the W3C WebDriver SpecificationA Deep Dive into the W3C WebDriver Specification
A Deep Dive into the W3C WebDriver Specification
 
Ganeti Web Manager: Cluster Management Made Simple
Ganeti Web Manager: Cluster Management Made SimpleGaneti Web Manager: Cluster Management Made Simple
Ganeti Web Manager: Cluster Management Made Simple
 
CVPR2017 oral survey
CVPR2017 oral surveyCVPR2017 oral survey
CVPR2017 oral survey
 
GitHub Data and Insights
GitHub Data and InsightsGitHub Data and Insights
GitHub Data and Insights
 
Dave de Roure - The myExperiment approach towards Open Science
Dave de Roure - The myExperiment approach towards Open ScienceDave de Roure - The myExperiment approach towards Open Science
Dave de Roure - The myExperiment approach towards Open Science
 
My Experiment
My ExperimentMy Experiment
My Experiment
 
Mahout Introduction BarCampDC
Mahout Introduction BarCampDCMahout Introduction BarCampDC
Mahout Introduction BarCampDC
 
EJME: enriched journal articles with OJS, 2011-10-19
EJME: enriched journal articles with OJS, 2011-10-19EJME: enriched journal articles with OJS, 2011-10-19
EJME: enriched journal articles with OJS, 2011-10-19
 
Feature flags, a/b testing, canary amd split traffic ~ hail new agile po
Feature flags, a/b testing, canary amd split traffic ~ hail new agile poFeature flags, a/b testing, canary amd split traffic ~ hail new agile po
Feature flags, a/b testing, canary amd split traffic ~ hail new agile po
 
The New Design Workflow
The New Design WorkflowThe New Design Workflow
The New Design Workflow
 
Apache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentationApache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentation
 
An introduction to juice
An introduction to juice An introduction to juice
An introduction to juice
 
Python & FUSE
Python & FUSEPython & FUSE
Python & FUSE
 
Joomla Day Austin Part 4
Joomla Day Austin Part 4Joomla Day Austin Part 4
Joomla Day Austin Part 4
 
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...
 
Presentation distro recipes-2013
Presentation distro recipes-2013Presentation distro recipes-2013
Presentation distro recipes-2013
 
Spring method-level-secuirty
Spring method-level-secuirtySpring method-level-secuirty
Spring method-level-secuirty
 

More from Jeff Prestes

Começando com Quorum - versão 2.6
Começando com Quorum - versão 2.6Começando com Quorum - versão 2.6
Começando com Quorum - versão 2.6Jeff Prestes
 
Desmistificando blockchain
Desmistificando blockchainDesmistificando blockchain
Desmistificando blockchainJeff Prestes
 
Aumento da eficácia jurídica com Smart Contracts
Aumento da eficácia jurídica com Smart ContractsAumento da eficácia jurídica com Smart Contracts
Aumento da eficácia jurídica com Smart ContractsJeff Prestes
 
Go (golang) - Porque ele deve ser a linguagem da sua próxima API
Go (golang) - Porque ele deve ser a linguagem da sua próxima APIGo (golang) - Porque ele deve ser a linguagem da sua próxima API
Go (golang) - Porque ele deve ser a linguagem da sua próxima APIJeff Prestes
 
Chatbots and Internet of Things
Chatbots and Internet of ThingsChatbots and Internet of Things
Chatbots and Internet of ThingsJeff Prestes
 
Facebook Messenger and Go
Facebook Messenger and GoFacebook Messenger and Go
Facebook Messenger and GoJeff Prestes
 
Beacons, Raspberry Pi & Node.js
Beacons, Raspberry Pi & Node.jsBeacons, Raspberry Pi & Node.js
Beacons, Raspberry Pi & Node.jsJeff Prestes
 
Eddystone Beacons - Physical Web - Giving a URL to All Objects
Eddystone Beacons - Physical Web - Giving a URL to All ObjectsEddystone Beacons - Physical Web - Giving a URL to All Objects
Eddystone Beacons - Physical Web - Giving a URL to All ObjectsJeff Prestes
 
Making Payments in Android Easy
Making Payments in Android EasyMaking Payments in Android Easy
Making Payments in Android EasyJeff Prestes
 
Kraken.js - Giving Extra Arms to your Node.js App
Kraken.js - Giving Extra Arms to your Node.js AppKraken.js - Giving Extra Arms to your Node.js App
Kraken.js - Giving Extra Arms to your Node.js AppJeff Prestes
 
Mobile Payments Workshop
Mobile Payments WorkshopMobile Payments Workshop
Mobile Payments WorkshopJeff Prestes
 
Building your own RC Car with Raspberry Pi
Building your own RC Car with Raspberry PiBuilding your own RC Car with Raspberry Pi
Building your own RC Car with Raspberry PiJeff Prestes
 
How to make your Money Machine with Internet of Things
How to make your Money Machine with Internet of ThingsHow to make your Money Machine with Internet of Things
How to make your Money Machine with Internet of ThingsJeff Prestes
 
Interact your wearable and an iot device
Interact your wearable and an iot deviceInteract your wearable and an iot device
Interact your wearable and an iot deviceJeff Prestes
 
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending MachineJava Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending MachineJeff Prestes
 
RaspberryPi + IoT - Lab to switch on and off a light bulb
RaspberryPi + IoT - Lab to switch on and off a light bulbRaspberryPi + IoT - Lab to switch on and off a light bulb
RaspberryPi + IoT - Lab to switch on and off a light bulbJeff Prestes
 
Fazendo maquinas para ganhar dinheiro com Internet das Coisas
Fazendo maquinas para ganhar dinheiro com Internet das CoisasFazendo maquinas para ganhar dinheiro com Internet das Coisas
Fazendo maquinas para ganhar dinheiro com Internet das CoisasJeff Prestes
 
Let your stuff talk!
Let your stuff talk!Let your stuff talk!
Let your stuff talk!Jeff Prestes
 

More from Jeff Prestes (20)

Começando com Quorum - versão 2.6
Começando com Quorum - versão 2.6Começando com Quorum - versão 2.6
Começando com Quorum - versão 2.6
 
Desmistificando blockchain
Desmistificando blockchainDesmistificando blockchain
Desmistificando blockchain
 
Aumento da eficácia jurídica com Smart Contracts
Aumento da eficácia jurídica com Smart ContractsAumento da eficácia jurídica com Smart Contracts
Aumento da eficácia jurídica com Smart Contracts
 
Go (golang) - Porque ele deve ser a linguagem da sua próxima API
Go (golang) - Porque ele deve ser a linguagem da sua próxima APIGo (golang) - Porque ele deve ser a linguagem da sua próxima API
Go (golang) - Porque ele deve ser a linguagem da sua próxima API
 
Chatbots and Internet of Things
Chatbots and Internet of ThingsChatbots and Internet of Things
Chatbots and Internet of Things
 
Facebook Messenger and Go
Facebook Messenger and GoFacebook Messenger and Go
Facebook Messenger and Go
 
Physical web
Physical webPhysical web
Physical web
 
Beacons, Raspberry Pi & Node.js
Beacons, Raspberry Pi & Node.jsBeacons, Raspberry Pi & Node.js
Beacons, Raspberry Pi & Node.js
 
Eddystone Beacons - Physical Web - Giving a URL to All Objects
Eddystone Beacons - Physical Web - Giving a URL to All ObjectsEddystone Beacons - Physical Web - Giving a URL to All Objects
Eddystone Beacons - Physical Web - Giving a URL to All Objects
 
Making Payments in Android Easy
Making Payments in Android EasyMaking Payments in Android Easy
Making Payments in Android Easy
 
Kraken.js - Giving Extra Arms to your Node.js App
Kraken.js - Giving Extra Arms to your Node.js AppKraken.js - Giving Extra Arms to your Node.js App
Kraken.js - Giving Extra Arms to your Node.js App
 
Mobile Payments Workshop
Mobile Payments WorkshopMobile Payments Workshop
Mobile Payments Workshop
 
Building your own RC Car with Raspberry Pi
Building your own RC Car with Raspberry PiBuilding your own RC Car with Raspberry Pi
Building your own RC Car with Raspberry Pi
 
How to make your Money Machine with Internet of Things
How to make your Money Machine with Internet of ThingsHow to make your Money Machine with Internet of Things
How to make your Money Machine with Internet of Things
 
Interact your wearable and an iot device
Interact your wearable and an iot deviceInteract your wearable and an iot device
Interact your wearable and an iot device
 
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending MachineJava Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
 
RaspberryPi + IoT - Lab to switch on and off a light bulb
RaspberryPi + IoT - Lab to switch on and off a light bulbRaspberryPi + IoT - Lab to switch on and off a light bulb
RaspberryPi + IoT - Lab to switch on and off a light bulb
 
Fazendo maquinas para ganhar dinheiro com Internet das Coisas
Fazendo maquinas para ganhar dinheiro com Internet das CoisasFazendo maquinas para ganhar dinheiro com Internet das Coisas
Fazendo maquinas para ganhar dinheiro com Internet das Coisas
 
Test A/B
Test A/BTest A/B
Test A/B
 
Let your stuff talk!
Let your stuff talk!Let your stuff talk!
Let your stuff talk!
 

Recently uploaded

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 

Recently uploaded (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 

Novidades da Versão 0.6.x do Solidity

  • 2. Agradecimentos e Creditos Apresentação baseada no material do prof. Gerard Persoon da Universidade de Ciências Aplicadas de Haia Agradeço do prof. Gerard por gentilmente compartilhar o material. Mais detalhes dos fontes originais de exemplo em: https://github.com/web3examples/ethereum/blob/master/solidity_examples/ Meus exemplos melhorados estão em: https://github.com/jeffprestes/ethereum-examples-hague-univ/solidity_examples Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
  • 4. Funções Fallback & Receive https://github.com/jeffprestes/ethereum-examples-hague-univ/blob/master/solidity_examples/sol6_fall backreceive.sol Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
  • 5. Nova forma de excluir item de array https://github.com/web3examples/ethereum/blob/master/solidity_examples/sol6_mapping.sol Usar ListParticipant.pop() ao invés de ListParticipant.length-- Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
  • 6. push Não retorna mais o índice do novo elemento. Aliás, push(novoValor) retorna nada. https://solidity.readthedocs.io/en/v0.6.0/types.html#array-members Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
  • 7. ABIEncoderV2 Não é mais considerado experimental, só mantiveram a sintaxe por retrocompatibilidade: https://solidity.readthedocs.io/en/v0.6.4/layout-of-source-files.html#abiencoderv2 Não usar com o otimizador: https://solidity.readthedocs.io/en/v0.6.4/060-breaking-changes.html#yul-optimizer Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
  • 8. Novas features em herança: virtual e override https://github.com/web3examples/ethereum/blob/master/solidity_examples/sol6_override.sol Este artigo explica em detalhes: https://forum.openzeppelin.com/t/how-we-plan-to-adopt-solidity-0-6-virtual-functions/2063 Aqui outros exemplos: https://solidity.readthedocs.io/en/v0.6.0/contracts.html#inheritance Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
  • 9. Multiplas sobrecargas de método https://github.com/web3examples/ethereum/blob/master/solidity_examples/sol6_overridemultiple.sol Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
  • 11. Melhoria no compilador: alerta de "shadowing" https://github.com/web3examples/ethereum/blob/master/solidity_examples/sol6_shadowing.sol Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
  • 12. Polêmico: try catch https://github.com/web3examples/ethereum/blob/master/solidity_examples/sol6_trycatch.sol Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
  • 13. Casting de address para address payable https://github.com/jeffprestes/ethereum-examples-hague-univ/blob/master/solidity_examples/sol6_addr payablecasting.sol Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
  • 14. Fatias de um array ou Array Slices https://github.com/web3examples/ethereum/blob/master/solidity_examples/sol6_slice.sol Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
  • 15. Natspec - Pequena melhoria na doc gerada no retorno https://github.com/jeffprestes/ethereum-examples-hague-univ/blob/master/solidity_examples/sol6_nats pec.sol Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
  • 16. Mudança de como obter Endereços de funções externas https://github.com/jeffprestes/ethereum-examples-hague-univ/blob/master/solidity_examples/sol6_addr essexternal.sol Jeff Prestes https://linkedin.com/in/jeffprestes https://github.com/jeffprestes
  • 17. That's all folks! https://linkedin.com/in/jeffprestes Mande PR ou dê uma estrela no repo dos exemplos https://github.com/jeffprestes E adicione-me no seu Linkedin