Validation of Smart Contracts through Automated Tooling
Autor(a) principal: | |
---|---|
Data de Publicação: | 2019 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | http://hdl.handle.net/10316/86360 |
Resumo: | Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia |
id |
RCAP_6a27510114def1b1156fdd10beb155de |
---|---|
oai_identifier_str |
oai:estudogeral.uc.pt:10316/86360 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
Validation of Smart Contracts through Automated ToolingValidação de Smart Contracts Através de Ferramentas AutomatizadasAutomaçãoBlockchainNEOSmart ContractsTesteAutomationBlockchainNEOSmart ContractsTestingDissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e TecnologiaOs smart contracts são programas de computador que usam a tecnologia blockchain para permitir que os seus utilizadores troquem bens digitais sem a necessidade de um intermediário. NEO é uma recente plataforma de blockchain que oferece aos programadores a possibilidade de desenvolver smart contracts em linguagens de programação de alto nível. Devido às propriedades da blockchain, o código dos smart contracts não pode ser alterado após ser distribuido na blockchain. É portanto crucial que os programadores testem cuidadosamente os seus smart contracts antes de os usarem em ambiente de produção.Esta dissertação, o produto do estágio do seu autor na Whitesmith, apresenta as diferentes fases do desenvolvimento de uma ferramenta de testes para smart contracts de NEO.Esta ferramenta tenta colmatar a distância entre o estado da arte das ferramentas de desenvolvimento de NEO e de Ethereum, duas tecnologias de blockchain promissoras, apresentadas neste relatório. O estudo do estado da arte das ferramentas de desenvolvimento para estas tecnologias mostra que, apesar de NEO ter ferramentas de desenvolvimentos tais como o NeoCompiler Eco que assistem no desenvolvimento de smart contracts, estas não oferecem quaisquer funcionalidades de teste.Tomando partido de uma ferramenta já existente para NEO, o NeoCompiler Eco, foi desenvolvida uma ferramenta de automação de testes que permite aos seus utilizadores criar, importar, guardar e correr casos de teste e suites de teste numa rede privada de NEO, utilizando apenas um browser.Esta ferramenta, que avalia os casos de teste consoante eventos ouvidos na blockchain de NEO, é o resultado dos requisitos feitos ao estagiário pelos programadores da Blocksmith, uma startup spin-off da Whitesmith, e é agora usada por estes programadores.Smart contracts are computer programs which use blockchain technology to allow users to exchange digital assets without the need for a middle-man. NEO is a recent blockchain platform, which presents programmers with the possibility of developing smart contracts in high-level programming languages. Due to blockchain properties, smart contract code cannot be changed after being deployed. It is then crucial for developers to thoroughly test their smart contracts before using them in a production environment. This dissertation, a product of the intern’s internship at Whitesmith, presents the different phases of the development of a testing tool for NEO smart contracts. This tool attempts to fill the gap between the state of the art of NEO and Ethereum developer tools, two promising blockchain technologies which are presented in this report. The study of the state of the art of development tools for these technologies shows that, although NEO has development tools, such as NeoCompiler Eco, which assists in the development of smart contracts, these do not offer any testing features. Taking advantage of the existing NEO tool NeoCompilerEco, a test automation tool was developed, which enables users to create, import, save and run test cases and test suites on a NEO private network, using only a browser. This tool, which assesses tests according to events listened in the NEO blockchain, is the result of the requests made to the intern by developers at Blocksmith, a spin-off startup from Whitesmith, and is now in use by these developers.2019-02-01info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttp://hdl.handle.net/10316/86360http://hdl.handle.net/10316/86360TID:202223140engConceição, Tomás Morgado de Carvalhoinfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2019-06-02T14:04:08Zoai:estudogeral.uc.pt:10316/86360Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T21:07:31.544073Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
Validation of Smart Contracts through Automated Tooling Validação de Smart Contracts Através de Ferramentas Automatizadas |
title |
Validation of Smart Contracts through Automated Tooling |
spellingShingle |
Validation of Smart Contracts through Automated Tooling Conceição, Tomás Morgado de Carvalho Automação Blockchain NEO Smart Contracts Teste Automation Blockchain NEO Smart Contracts Testing |
title_short |
Validation of Smart Contracts through Automated Tooling |
title_full |
Validation of Smart Contracts through Automated Tooling |
title_fullStr |
Validation of Smart Contracts through Automated Tooling |
title_full_unstemmed |
Validation of Smart Contracts through Automated Tooling |
title_sort |
Validation of Smart Contracts through Automated Tooling |
author |
Conceição, Tomás Morgado de Carvalho |
author_facet |
Conceição, Tomás Morgado de Carvalho |
author_role |
author |
dc.contributor.author.fl_str_mv |
Conceição, Tomás Morgado de Carvalho |
dc.subject.por.fl_str_mv |
Automação Blockchain NEO Smart Contracts Teste Automation Blockchain NEO Smart Contracts Testing |
topic |
Automação Blockchain NEO Smart Contracts Teste Automation Blockchain NEO Smart Contracts Testing |
description |
Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia |
publishDate |
2019 |
dc.date.none.fl_str_mv |
2019-02-01 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10316/86360 http://hdl.handle.net/10316/86360 TID:202223140 |
url |
http://hdl.handle.net/10316/86360 |
identifier_str_mv |
TID:202223140 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.source.none.fl_str_mv |
reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
|
_version_ |
1799133966473625600 |