- 博客(161)
- 资源 (13)
- 收藏
- 关注
原创 中转合约-实现全部资产的中转
背景:在特定的项目中,希望限定自己的用户的转账金额比如:任何人的转账只能限定为 0.02比如:购买这个产品比如输入 0.02做法: 通过合约做一个转发,其余的限定和接收方参数,全部聚合到一起。转账时,通过fallback函数 解析、验证数据,验证通过后,执行转发操作,将value转发到特定地址
2024-01-12 18:46:16 535 2
原创 区块链是怎么存储数据的?
每个块都是有大小限制的新的数据存储单元,当前数据不到上限,那么都可以添加进块。当前数据达到了上限,那么就得分表/分块,超限的那部分数据就需要等待下个区块存储
2024-01-12 16:07:33 905 2
原创 docker push镜像到自己的hub仓库
hub用户名为xx,在hub建立的仓库名为evmos.本地的镜像名字为evmos,本地镜像的版本号:latest。
2023-07-14 15:30:06 1024
转载 纠删码--分布式存储数据备份
Erasure Code(简称 EC),即纠删码,是一种前向错误纠正技术(Forward Error Correction,FEC),主要应用在网络传输中避免包的丢失,存储系统利用它来提高存储、可靠性。相比多副本复制而言,纠删码能够以更小的数据冗余度获得更高数据可靠性,但编码方式较复杂,需要大量计算。纠删码只能容忍数据丢失,无法容忍数据篡改,纠删码正是得名与此。
2023-04-12 16:55:31 1154 1
原创 复原IPdCode
给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插入 ‘.’ 来形成。你可以按 任何 顺序返回答案。例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011.255.245”、“192.168.1.312” 和 “192.168@1.1” 是 无效 IP 地址。有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。
2023-03-28 22:13:37 135
原创 Linux xargs整合参数
xargs 默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代。-e flag ,注意有的时候可能会是-E,flag必须是一个以空格分隔的标志,当xargs分析到含有flag这个标志的时候就停止。-d delim 分隔符,默认的xargs分隔符是回车,argument的分隔符是空格,这里修改的是xargs的分隔符。-n num 后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的。
2023-03-27 14:25:22 494
原创 查询pending tx
cnpm i ehtersvar ethers = require("ethers");var url = "wss://mainnet.infura.io/ws/v3/";var init = function () { var customWsProvider = new ethers.providers.WebSocketProvider(url); customWsProvider.on("pending", (tx) => { customWsProvider
2022-05-30 22:14:58 332
原创 遍历查询miner
node – v14.18.1npm --v 6.14.15// Part 1 Import Related Packagevar Web3 = require('web3');var mongoose = require('mongoose');var moment = require('moment');const startBlock = 14621879;const endBlock = 14621880;const ethContractSchema = mongoose.S
2022-05-23 14:30:44 187
转载 理解Arbitrum Layer2方案
1 Rollup的核心思路是在L1上保存能够验证交易过程的凭证,而将交易过程(计算过程)还有状态存储运行在L2中。何为交易过程的凭证,交易执行的过程就是由1个状态转移到另外1个状态的过程,如果L1知道了一组交易前的状态和一组交易后的状态还有这一组交易,自然可以验证这组交易对应的状态转移是否正确。如上图所示,发布者将交易前状态树的根hash 和交易后状态树的根hash以及交易发布到L1上,L1智能合约确认交易前状态树根hash是否和存储的根hash一致。交易前的根hash一致说明起始状态正确,那么本次交
2022-05-17 22:13:57 349
原创 crontab实现Ubuntu上定时处理任务
1 安装cronapt -y install cron2 安装后之后,进行配置crontab -e首次使用,会需要选择输入模式,选择3即可输入需要定时执行的脚本,脚本文件中包括命令中都必须是绝对路径每5分钟执行一次脚本*/5 * * * * sh /mnt/EthereumData/webjs/pendAndblockTx/shPend.sh >> /mnt/EthereumData/webjs/pendAndblockTx/Txpending.txt*/5 * * * *
2022-05-17 15:48:51 614
原创 遍历区块数据,查询合约交易
// Part 1 Import Related Packagevar Web3 = require('web3');var mongoose = require('mongoose');var moment = require('moment');const startBlock = 14650515;const endBlock = 14656856;const ethContractSchema = mongoose.Schema({ address: String,
2022-05-16 14:55:47 471
转载 python2爬取数据
安装依赖包pip2 install requests -i http://pypi.douban.com/simplepip2 install parsel -i http://pypi.douban.com/simplepip2 install csv -i http://pypi.douban.com/simple具体代码:import requestsimport parselimport csvimport sysreload(sys)sys.setdefaultencod
2022-05-13 14:20:59 184
原创 python 2.7安装pip
python2.7的pip安装:wget https://bootstrap.pypa.io/pip/2.7/get-pip.pypython get-pip.py -i http://pypi.douban.com/simple --trusted-host pypi.douban.compip2 --version
2022-05-09 11:48:10 2015
原创 mongodb导出数据,通过python 解析
1 mongodb导出数据mongoexport -d eth_ctaddrandfunc -c ctaddr_func_delays -o ./test.json2 python处理首先将json转为csv文件,安装jsoncsvpip install jsoncsv -i https://pypi.tuna.tsinghua.edu.cn/simple转换成csv文件cat test.json | jsoncsv | mkexcel > jstocs.csvpython导入cs
2022-05-09 11:00:58 815
原创 智能合约部署在测试网,并互相调用
部署在ropsten浏览器:https://ropsten.etherscan.io/address/0xA98D40001cf6f3859dE29fbFDFE13eBa2C940601合约RopstenNumber// SPDX-License-Identifier: GPL-3.0pragma solidity >=0.8.0 <0.9.0;contract RopstenNumber {uint256 c; function getNumber() publ
2022-04-26 10:42:57 630 1
原创 remix连接测试链,连接Arbiturm二层网络
安装 MetaMask打开Remix界面1 测试链连接MetaMaskhttps://chainlist.org/ //搜索需要连接的测试链2 以太坊测试链测试的ETH 领取水龙头 --需要连接VPN 每次0.1ethRinkeby![https://faucets.chain.link/rinkeby](https://img-blog.csdnimg.cn/ba68fb7021dd48068cd9f9b6e028eb7b.png?x-oss-process=image/waterm
2022-04-21 13:50:48 677
原创 linux安装mongoDB
1 查询Linux版本cat /proc/version2 16.04的版本:apt-get install libcurl3 openssl18.04的版本:apt-get install libcurl4 openssl3 下载安装包 https://www.mongodb.com/try/download/communitywget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-4.2.8.tgz
2022-04-20 17:08:35 180
原创 通过合约地址 和 接口 调用另一个合约的方法
A 合约:// SPDX-License-Identifier: GPL-3.0pragma solidity >=0.8.0 <0.9.0;contract Number {uint256 c; function getNumber() public view returns (uint) { return c; } function setNumber(uint num) public { c=num;
2022-04-17 22:08:41 1049
原创 智能合约开发以及调用过程的注意事项
智能合约特征:1 合约一旦部署完成,就无法修改。2 调用合约时触发既定的合约规则,并且执行过程是原子性执行(All or Nothing)3 以太坊中合约是公开可见的,出发合约的交易也是透明存储通过solidity编写的合约在线编译网址:https://remix.ethereum.org/以太坊账户分为:外部账户,由账户私钥控制合约账户,通过CREATE或CREATE2(主要应用于状态通道中,在链下执行未部署的合约)交易类型:合约创建、触发合约交易、转账交易。交易中,通过gas评
2022-04-13 23:30:39 1287
原创 transfer和 send
send()成员函数addr.transfer(eth) 等价于 require(addr.send(eth))send returns bool,返回bool类型,通过require判断transaction: Exception if fails,会返回错误提示推荐用transfer,因为有报错提示send错了,因为默认不报错,所以用断言assert(towho.send(1 ether));...
2022-04-13 20:10:50 304 1
原创 重入攻击的合约
pragma solidity ^0.4.18;contract Reentrance { mapping(address => uint) balances; function donate(address _to) public payable { balances[_to] = balances[_to]+msg.value; } function balanceOf(address _who) public view returns (uint balan
2022-04-13 15:16:22 193 1
原创 合约中实现数组的删减,从合约中删除数据
pragma solidity ^0.8.0;contract ExampleApp { string[] myArray; function add(string memory x) public { myArray.push(x); } function del(string memory x) public { for (uint j = 0; j < m
2022-04-13 11:35:10 272 1
ECC加密链码.rar
2021-08-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人