java
文章平均质量分 67
前端段
这个作者很懒,什么都没留下…
展开
-
java实现23种设计模式-创建类
单例模式public class singleton_lazy { // 这是一个main方法,程序的入口 public static void main(String[] args) { }}class LazySingleton{ private static LazySingleton instance; private LazySingleton(){} //私有构造函数,为了避免直接从外面new public static LazySin原创 2022-03-30 12:47:29 · 611 阅读 · 0 评论 -
solidity第三方库
第三方库:https://github.com/pipermerriam/ethereum-datetimemapping没有长度,无序,所以获取不到长度。不能用迭代访问。https://github.com/ethereum/dapp-bin/blob/master/library/iterable_mapping.solhttps://github.com/Arachnid/solidity-stringutilshttps://github.com/OpenZeppelin/openzepp转载 2022-03-18 18:16:26 · 328 阅读 · 0 评论 -
java中容易混淆的地方
一共有十一个,但是常见的八个,常用的三四个beforCreate(创建之前)Created(创建之后)beforMount(载入之前)Mounted(载入之后)beforUpdate(更新之前)Updated(更新之后)beforDestroy(销毁之前)Destroyed(销毁之后)activate(keep-alive组件激活时调用)deactivated(keep-ali...原创 2019-03-29 16:40:25 · 780 阅读 · 1 评论 -
js实现接口的方式
js实现接口方法原创 2020-05-31 18:17:24 · 2925 阅读 · 0 评论 -
openzeppelin库详解
地址:https://github.com/OpenZeppelin/openzeppelin-solidity详解:https://www.linuxidc.com/Linux/2016-10/135891.htm一个在以太坊上建立安全智能合约的框架,目前集成与Truffle和Embark安装步骤(ubuntu)新建一个自己的合约目录,进入合约目录Truffle initnpm init -y 该步生成一个package.json,内置一些配置信息npm install -E openz.原创 2022-03-12 21:42:14 · 1202 阅读 · 0 评论 -
实战例子:Solidity代码小失误导致池子里60万U被盗空
实战例子:Solidity代码小失误导致池子里60万USDT被盗空被盗原因:利用token的漏洞查看合约地址先看这笔交易:黑客用0.04个eth换了112个USDT再用112个USDT换了101个TCR关键这步:101个TCR换了63.9万USDT(价值400万RMB),如下图第一步,点击这里第二步,点address第三步,点contract,就可以看合约源码了/** *Submitted for verification at Etherscan.io on 2021-04-13原创 2022-03-11 18:40:14 · 1224 阅读 · 0 评论 -
合约里面创建合约
合约里面创建合约:1.合约名字 aa = new 合约名字(); // 返回合约地址2.合约名字.属性3.合约名字.方法();// SPDX-License-Identifier:MITpragma solidity ^0.8;import "https://github.com/Arachnid/solidity-stringutils/blob/master/src/strings.sol"; // 字符串拼接contract Pair { using strings for *;原创 2022-03-10 17:12:44 · 1059 阅读 · 0 评论 -
solidity合约调合约方法汇总
共六种方法:// SPDX-License-Identifier:MIT// 合约调合约方法// 参考视频pragma solidity ^0.8;contract Callee {uint public x;uint public value;function setX(uint _x) public returns (uint){x = _x;return x;}function setXandSendEther (uint _x) public payable returns原创 2022-03-09 16:31:19 · 1146 阅读 · 0 评论 -
solidity全局变量和方法
由于版本更新比较快。过去一部分写法,现在使用0.5.10版本开发合约时,部分报错。再去翻翻官方的最新的文档。文章目录一、特殊变量msgtxblockaddressaliastype二、ABI编码decodeencodeencodePackedencodeWithSelectorencodeWithSignature三、错误处理assertrequirerevert四、合约相关thissuperselfdestruct五、数学和密码学函数addmodmulmo原创 2022-03-09 14:43:55 · 443 阅读 · 0 评论 -
solidity高级特性
1 functionview:承诺不修改状态。pure:纯函数,承诺不会读取或修改状态。payable:为了接收ether,必须标记回退功能payable。最少需2300gas。2 log通过函数来访问低层接口的记录机制log0,log1,log2,log3和log4。 logi获取类型的参数,其中第一个参数将用于日志的数据部分,其他参数用作主题。上面的事件调用可以以与以下相同的方式执行i + 1bytes32。pragma solidity ^0.4.10;contract C {原创 2022-03-08 04:03:27 · 7747 阅读 · 0 评论 -
truffle入门(发币和宠物商店)
truffle入门truffle compile //编译truffle migrate // 部署原创 2022-03-07 10:15:19 · 271 阅读 · 0 评论 -
solidity中datalocation数据位置
solidity中datalocation数据位置在storage和 memory之间(或来自 calldata)的赋值总是创建一个独立的副本。从 memory到 memory的赋值仅创建引用。这意味着对一个内存变量的更改在引用相同数据的所有其他内存变量中同样有效。从storage到本地storage变量的赋值也仅赋值一个引用。所有其他到storage的赋值总是被复制。这种情况的示例是赋值给状态变量或storage结构体类型的局部变量成员,即使局部变量本身只是一个引用。// SPDX-Licens原创 2022-03-06 00:16:17 · 6530 阅读 · 0 评论 -
hardhat入门
hardhat入门第一步:mkdir hardhat-tutorialcd hardhat-tutorialnpm init --yesnpm install --save-dev hardhatnpx hardhat第二步、首先创建一个名为 contracts 的新目录,然后在目录内创建一个名为Token.sol的文件。// Solidity files have to start with this pragma.// It will be used by the Solidity c原创 2022-03-05 13:49:25 · 4718 阅读 · 0 评论 -
solidity中未解决的问题
1.请问ethscan上查到bytecode代码,可以反编译为solidity代码嘛?2.函数returns中,可以返回reference type类型嘛?原创 2022-03-04 11:01:38 · 173 阅读 · 0 评论 -
solidity学习二(赋值数据位置、modify、Event、receive&fallback、数组)
赋值位置1.memory 引用类型=storage 引用类型,没有修改指针,而是深拷贝。pragma solidity ^ 0.5.0;contract Locations {uint[] public stateVar = [1,2]; //storagefunction doSomething() public returns(uint) {uint[] memory localVar; //memorylocalVar = stateVar;stateVar = [3,4];requ原创 2022-03-02 14:06:45 · 559 阅读 · 0 评论 -
solidity开发中的问题(assert revert require&节约gas)
1.如果compile 0.4.23,找不到对应的版本,可以先选auto compile。2.callData就是console里面的input数据原创 2022-03-04 10:44:52 · 296 阅读 · 0 评论 -
在ethscan.io上发布和验证合约源码
在ethscan.io上发布和验证合约源码1.公开token的源码,增加透明度和投资人的信任度;2.上传源码后,人们可以在Etherscan查看当前token的源码,同时也可以很方便的看到token的相关信息。#合约代码没有通过 Verify Your Contract Source Code的样子#合约代码通过 Verify Your Contract Source Code的样子下面我们来看看怎么通过验证先看一下源码验证页面构造通过上图可以看到,除了构造参数的byteCode外,原创 2022-03-04 09:31:39 · 578 阅读 · 0 评论 -
23种设计模式之外的一些设计模式
23三种之外的:1.构造函数模式:function Animal(name, color){ this.name = name; this.color = color; this.getName = function(){ return this.name; }} // 实例一个对象 var cat = new Animal('猫', '白色'); console.log( cat.getName() );2.混合模式(混合继承)3.防抖原创 2021-03-08 08:09:02 · 940 阅读 · 0 评论 -
快速记住23种设计模式
签合同,要分三步:1.创建新建合同 2.设计合同内容结构 3.要遵守合同的行为规范(对应创建,结构,行为三部分)口诀:单原二厂建 (创建类的5个模式,二厂是指简单工厂和抽象工厂)桥(帮)组享外带装适 (结构类的6个模式)观摩(模)命职状房(访)中洁厕(解策)备跌(迭)设计模式主要分三个类型:创建型、结构型和行为型。创建型有:一、Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点二、Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖原创 2021-02-17 00:45:01 · 7378 阅读 · 1 评论 -
mysql复习
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2022-01-29 07:49:27 · 938 阅读 · 0 评论 -
java和javascript区别
javajavascriptfinalconststaticvar、let、const===== 、 ==每行结束必须分号;可以不要分号继承extendsextends.constructor. superPuppy myPuppy = new Puppy( “tommy” );let myPuppy = new Puppy( “tommy” );...原创 2022-01-10 21:52:26 · 337 阅读 · 0 评论 -
javaweb环境配置及spring boot、tomact
python获取文件夹,各种不同文件类型,文件数量import osinfo = {}for fpathe, dirs, fs in os.walk(‘D:\潭州课堂’):for f in fs:fllename = os.path.join(fpathe,f)res = os.path.splitext(fllename)hz = res[1]info.setdefault(hz...原创 2019-04-19 23:12:36 · 611 阅读 · 0 评论