jjzjj

solid-principles

全部标签

Solidity 基础知识

Solidity基础知识官网:Solidity版本设置//SPDX-License-Identifier:MIT表示身份协议//^0.8.7表示当前代码支持0.8.7及以后solidity版本//>=0.8.7基本数据类型//基础数据类型:booleanuint(无符号整数)intaddressbytesboolsutFlag=true;//uint存储空间大小可以设置最少设置8(1bit占8位,以2的指数倍设置)默认是256一般都显式定义出来如果不赋值默认为0uint256publicstudentNum=123;//bytes一般是0x开头接一些随机的数字字母,这里存的字符串xiao,会自

solidity合约调合约方法汇总

共六种方法://SPDX-License-Identifier:MIT//合约调合约方法//参考视频pragmasolidity^0.8;contractCallee{uintpublicx;uintpublicvalue;functionsetX(uint_x)publicreturns(uint){x=_x;returnx;}functionsetXandSendEther(uint_x)publicpayablereturns(uint,uint){x=_x;value=msg.value;return(x,value);}}contractCaller{addresspublicric

Solidity智能合约安全指南:预防已知攻击的关键.

文章目录系列文章目录前言一、攻击类型二、攻击类型分析1.简叙2.代码分享3.预防措施总结前言在进行Solidity智能合约开发时,确保合约的安全性是至关重要的。虽然编写一个简单的合约可能相对容易,但要确保它能够抵御各种已知和未知的攻击却是一项艰巨的任务。为了有效预防攻击,首先我们需要了解已知的一些常见攻击类型,只有了解清楚这些攻击,才能更好地保护合约的安全性本文将为您汇总一些Solidity中已知的攻击类型,并提供一些预防这些攻击的关键措施(以下就是个人整理的一些已知攻击)一、攻击类型:重入算术溢出意外之财delegatecall默认的可见性随机错觉外部智能合约引用短地址/参数攻击未检查的返回

c# - 拥有依赖于另一个存储库的存储库

我最近一直在花时间阅读SOLID原则,并决定比较一下我使用的代码库。在我们的一些代码中有一个存储库(存储库A)。当要从存储库A中删除一条记录时,我们还需要从存储库B中删除一条关联的记录。因此,原始编码人员创建了对存储库B的具体实现的依赖。存储库A中的方法在一个事务中并且从存储库A中删除记录,然后调用存储库B上的方法删除关联的数据。我对S原则的理解是每个对象应该只有1个更改原因,但是对我的存储库A有2个更改原因?还是我离题太远了? 最佳答案 存储库应该有单一的职责——保留一种实体。例如。雇员。如果你必须从其他存储库中删除一些关联的记录

c# - 拥有依赖于另一个存储库的存储库

我最近一直在花时间阅读SOLID原则,并决定比较一下我使用的代码库。在我们的一些代码中有一个存储库(存储库A)。当要从存储库A中删除一条记录时,我们还需要从存储库B中删除一条关联的记录。因此,原始编码人员创建了对存储库B的具体实现的依赖。存储库A中的方法在一个事务中并且从存储库A中删除记录,然后调用存储库B上的方法删除关联的数据。我对S原则的理解是每个对象应该只有1个更改原因,但是对我的存储库A有2个更改原因?还是我离题太远了? 最佳答案 存储库应该有单一的职责——保留一种实体。例如。雇员。如果你必须从其他存储库中删除一些关联的记录

【区块链 | EVM】深入理解学习EVM - 深入Solidity数据存储位置

目录目录简介EVM是一个工业工厂为什么要在Solidity中理解Evm数据位置?数据位置→概述

【区块链 | EVM】深入理解学习EVM - 深入Solidity数据存储位置

目录目录简介EVM是一个工业工厂为什么要在Solidity中理解Evm数据位置?数据位置→概述

再读Solidity官网文档 1

由于solidity英文描述,所以每次读理解就有点不一样,领会的更多.比如: 1.区块链和交易Ablockchainisagloballyshared,transactionaldatabase.Thismeansthateveryonecanreadentriesinthedatabasejustbyparticipatinginthenetwork.Ifyouwanttochangesomethinginthedatabase,youhavetocreateaso-calledtransactionwhichhastobeacceptedbyallothers.Thewordtransac

Solidity 基础(一)

Solidity官网githubSolidity是一种静态类型的花括号(curly-braces)编程语言,旨在开发运行在以太坊(Ethereum)上的智能合约。Solidity正在迅速发展作为一门相对年轻的语言,Solidity正在迅速发展。我们的目标是每月定期发布(非突破性)版本,每年大约发布一个突破性版本。您可以在SolidityGithub项目中跟踪新功能的实现状态。通过从默认分支(develop)切换到breakingbranch,您可以看到下一个破坏性版本即将发生的更改。您可以通过提供输入并参与语言设计来积极地塑造Solidity。一、入门(v0.8.17)Solidity是一种面

c# - 用C#学习单一职责原则

我正在尝试学习单一职责原则(SRP),但这非常困难,因为我很难弄清楚我应该在什么时候从一个类(class)中删除什么以及应该删除/组织它的位置。我在谷歌上搜索了一些Material和代码示例,但我发现的大多数Material并没有让它更容易理解,而是让它变得难以理解。ForexampleifIhavealistofUsersandfromthatListIhaveaclassCalledControlthatdoeslotsofthingslikeSendagreetingandgoodbyemessagewhenausercomesin/out,verifyweathertheuse