{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,16]],"date-time":"2026-04-16T02:03:33Z","timestamp":1776305013701,"version":"3.50.1"},"reference-count":64,"publisher":"IEEE","license":[{"start":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T00:00:00Z","timestamp":1763424000000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-029"},{"start":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T00:00:00Z","timestamp":1763424000000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-037"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2025,11,18]]},"DOI":"10.1109\/brains67003.2025.11302935","type":"proceedings-article","created":{"date-parts":[[2025,12,24]],"date-time":"2025-12-24T18:43:25Z","timestamp":1766601805000},"page":"1-9","source":"Crossref","is-referenced-by-count":1,"title":["Don\u2019t Panic: Error Handling Patterns in Go Smart Contracts and Blockchain Software"],"prefix":"10.1109","author":[{"given":"Luca","family":"Olivieri","sequence":"first","affiliation":[{"name":"Ca&#x2019;Foscari University of Venice,Venice,Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Luca","family":"Negrini","sequence":"additional","affiliation":[{"name":"Ca&#x2019;Foscari University of Venice,Venice,Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"263","reference":[{"key":"ref1","volume-title":"The Cosmos Security Handbook","author":"Akhtariev","year":"2024"},{"key":"ref2","year":"2024","journal-title":"Althea-net: Althea Cosmos Gravity Bridge - GitHub Repository"},{"key":"ref3","volume-title":"go-ethereum Authors: go-ethereum","year":"2025"},{"key":"ref4","article-title":"Building Secure Contracts - ABCI methods panic","author":"Bits","year":"2023"},{"key":"ref6","article-title":"The double spending problem and cryptocurrencies","author":"Chohan","year":"2021","journal-title":"Available at SSRN 3090174"},{"key":"ref7","article-title":"Revivecc","author":"Chokkapu","year":"2021"},{"key":"ref8","year":"2025","journal-title":"CometBFT: CometBFT Documentation"},{"key":"ref9","doi-asserted-by":"publisher","DOI":"10.1145\/512950.512973"},{"key":"ref10","article-title":"Hyperledger Fabric - Issue #5169: Panic in gossip\/gossip\/algo","author":"Enyeart","year":"2025"},{"key":"ref11","volume-title":"Improper Error Handling","author":"Ferragamo","year":"2025"},{"key":"ref12","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-63618-0_1"},{"key":"ref13","doi-asserted-by":"publisher","DOI":"10.1145\/3460946.3464316"},{"key":"ref14","article-title":"Revive","author":"Gechev","year":"2021"},{"key":"ref15","volume-title":"Defer, Panic, and Recover","author":"Gerrand","year":"2010"},{"key":"ref16","volume-title":"Google: Go Wiki: Go Code Review Comments - Don\u2019t Panic"},{"key":"ref17","volume-title":"The Go Blog."},{"key":"ref19","article-title":"HelloBloc: Canine-chain - Issue #8: Need Error Handling for RNS\u2019s SendCoinsFromAccountToModule Function","year":"2025"},{"key":"ref20","volume-title":"HelloBloc: Ignite CLI - issue #2828: Ignite Tutorial on Bankkeeper Use is Flawed","year":"2025"},{"key":"ref21","year":"2025","journal-title":"HelloBloc: Loan project - Issue #6: Need Error Handling for SendCoins Function"},{"key":"ref22","volume-title":"Staticcheck website","author":"Honnef"},{"key":"ref23","year":"2023","journal-title":"Hyperledger: General guidelines for error handling in Hyperledger Fabric"},{"key":"ref24","year":"2025","journal-title":"Hyperledger: Hyperledger Fabric: A Blockchain Platform for the Enterprise"},{"key":"ref25","volume-title":"Ignite: Ignite Documentation","year":"2025"},{"key":"ref26","volume-title":"Cosmos Security: An Otter\u2019s Guide","author":"James","year":"2025"},{"key":"ref27","article-title":"Cosmos unmasked, a security guide to review cosmos application","year":"2024","journal-title":"Jorgecastillot"},{"key":"ref28","article-title":"Endblocker panics may halt consensus engine #348","author":"Kuprianov","year":"2024"},{"key":"ref29","article-title":"Prysm: An Ethereum Consensus Implementation Written in Go","author":"Labs","year":"2025"},{"key":"ref30","article-title":"Cosmos Ecosystem Security Guide: Analyzing Security Challenges in Different Components","author":"Learn","year":"2024"},{"key":"ref31","doi-asserted-by":"publisher","DOI":"10.1145\/3503222.3507753"},{"key":"ref32","doi-asserted-by":"publisher","DOI":"10.1145\/1363686.1363736"},{"key":"ref33","doi-asserted-by":"publisher","DOI":"10.1109\/iscc53001.2021.9631249"},{"key":"ref34","volume-title":"MITRE: CWE-248: Uncaught Exception","year":"2025"},{"key":"ref35","volume-title":"MITRE: CWE-252: Unchecked Return Value","year":"2025"},{"key":"ref36","volume-title":"MITRE: CWE-391: Unchecked Error Condition","year":"2025"},{"key":"ref37","volume-title":"MITRE: CWE-703: Improper Check or Handling of Exceptional Conditions","year":"2025"},{"key":"ref38","volume-title":"MITRE: CWE-755: Improper Handling of Exceptional Conditions","year":"2025"},{"key":"ref39","volume-title":"Secure go website","author":"Murphy"},{"key":"ref40","volume-title":"Hyperledger Fabric - Issue #5198: Creating a channel with the same name again causes orderer process to terminate abnormally","author":"Nagai","year":"2025"},{"key":"ref41","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-031-71379-8_3"},{"key":"ref42","doi-asserted-by":"publisher","DOI":"10.1007\/978-981-19-9601-6_2"},{"key":"ref43","doi-asserted-by":"publisher","DOI":"10.1109\/access.2024.3495535"},{"key":"ref44","doi-asserted-by":"publisher","DOI":"10.1109\/access.2024.3410019"},{"key":"ref45","doi-asserted-by":"publisher","DOI":"10.1145\/3672608.3707721"},{"key":"ref46","doi-asserted-by":"publisher","DOI":"10.1145\/3672608.3707728"},{"key":"ref47","first-page":"1","article-title":"Information flow analysis for detecting non-determinism in blockchain","volume-title":"37th European Conference on Object-Oriented Programming (ECOOP 2023). Leibniz International Proceedings in Informatics (LIPIcs)","volume":"263","author":"Olivieri"},{"key":"ref48","doi-asserted-by":"publisher","DOI":"10.1007\/s10009-024-00758-x"},{"key":"ref49","doi-asserted-by":"publisher","DOI":"10.1145\/3520313.3534658"},{"key":"ref50","year":"2025","journal-title":"OWASP: Error Handling Cheat Sheet"},{"key":"ref51","volume-title":"Errors are values","author":"Pike","year":"2015"},{"key":"ref52","volume-title":"Go Proverbs: Simple, Poetic, Pithy","author":"Proverbs"},{"key":"ref53","article-title":"Rajvardhan: Exploring Cosmos: A Security Primer","year":"2023"},{"key":"ref54","article-title":"Introduction to static analysis: an abstract interpretation perspective","author":"Rival","year":"2020"},{"key":"ref55","volume-title":"State corruption after unexpected terminations during snap sync","year":"2024"},{"key":"ref56","article-title":"Don\u2019t \u201cPanic\u201d: How Improper Error-Handling Can Lead to Blockchain Hacks","author":"Saigle","year":"2022"},{"key":"ref57","volume-title":"Cosmos SDK Documentation - BeginBlocker and EndBlocker","year":"2025"},{"key":"ref58","volume-title":"Shabna Madathil Thattantavida, S.K.: Ibm developer - learn best practices for debugging and error handling in an enterprise-grade blockchain application","year":"2023"},{"key":"ref60","doi-asserted-by":"publisher","DOI":"10.1007\/s10270-009-0132-5"},{"key":"ref61","doi-asserted-by":"publisher","DOI":"10.1109\/brains59668.2023.10316912"},{"key":"ref63","volume-title":"Cosmos SDK Documentation","author":"Teams","year":"2025"},{"key":"ref64","volume-title":"Tendermint: Tendermint Core Documentation","year":"2025"},{"key":"ref65","doi-asserted-by":"publisher","DOI":"10.1145\/3551349.3561154"},{"key":"ref66","volume-title":"Wood, S.: Hyperledger Fabric - Issue #5048: Panic on leveldb range query fabric peer","year":"2024"},{"key":"ref67","doi-asserted-by":"publisher","DOI":"10.1109\/iwbose.2019.8666486"},{"key":"ref68","volume-title":"Chaincode Analyzer","author":"Yamashita","year":"2020"}],"event":{"name":"2025 7th Conference on Blockchain Research &amp; Applications for Innovative Networks and Services (BRAINS)","location":"Zurich, Switzerland","start":{"date-parts":[[2025,11,18]]},"end":{"date-parts":[[2025,11,21]]}},"container-title":["2025 7th Conference on Blockchain Research &amp;amp; Applications for Innovative Networks and Services (BRAINS)"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx8\/11302407\/11302901\/11302935.pdf?arnumber=11302935","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,12,25]],"date-time":"2025-12-25T05:53:04Z","timestamp":1766641984000},"score":1,"resource":{"primary":{"URL":"https:\/\/ieeexplore.ieee.org\/document\/11302935\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,11,18]]},"references-count":64,"URL":"https:\/\/doi.org\/10.1109\/brains67003.2025.11302935","relation":{},"subject":[],"published":{"date-parts":[[2025,11,18]]}}}