区块链以太坊学习资源(by quqi99)

    quqi992021-12-04 17:58:43.0
    币安上有一个专注于游戏的WAX - https;做游戏的话其数据结构可以不限于简单的数字;//www.udemy.com/course/ethereum-and-solidity-the-complete-developers-guide/ https;//github.com/protofire/blockchain-learning-path https;这些数据结构往链上存是要花币的

    探究 EIP-4488 —— Rollup 助燃剂

    隐形人真忙2021-12-03 13:22:57.0
    2019 年 EIP-2028 就提议将成本从 68 gas 降低至 16 gas;02 为什么需要 EIP-4488 EIP-4488 是为了进一步降低 calldata 的 gas 消耗;以太坊交易中的 calldata 所消耗的 gas 会大大减少;直接使得 calldata 的成本降低至 3 gas;以太坊需要方案解决当下的问题——这个方案就是 Rollups Layer2 扩容

    ink 合约篇(一)| 部署 ink 合约

    99Kies2021-11-14 23:22:21.0
    合约调用的流程和以太坊调用合约的流程类似 编译合约会生成在部署合约需要的 xxx.contract、xxx.wasm、metadata.json 部署合约可以根据 xxx.contract 或者 xxx.wasm 和 metadata.json 实现部署;—— 编译合约 和 部署合约 其实ink;合约简介 简介 WASM简介 通过 Europa 启动一个合约编译沙盒环境 部署合约 编译 部署 调用 参考链接 关于作者 实验环境;合约篇(一)| 部署 ink;之后我们的合约就会部署在Europa这条链上

    深入浅出以太坊MEV

    隐形人真忙2021-11-11 15:35:29.0
    交易模拟执行 抢跑机器人如何判断某个在 mempool 的交易是否是有利可图的呢;甚至是其他抢跑者的交易 将这些交易进行 EVM 模拟执行;抢跑者会不断读取 mempool 中的交易;其他的交易都是抢跑者发起的交易;从 Front-running 到 MEV 抢跑本质上是通过交易顺序的排列来获取额外的利润

    以太坊混币器研究:Tornado.Cash

    隐形人真忙2021-11-05 14:37:40.0
    eth-1对应存入1ETH对应的转账合约地址;只需要分析TornadoCashProxy合约关联的deposit交易即可 (2)收集所有从Tornado转出的目的地址和金额;将用户的钱转到tornadocash.eth合约中 因此我们通过查看Tornadocash.eth1合约的内部交易就会发现;我们建议用户在存入资金之后;而另一个地址多次发起同样资金规模的取款交易

    以太坊智能合约安全入门

    合天网安实验室2021-11-04 16:20:00.0
    所以会调用攻击合约的fallback函数;address payable public owner;address public owner;function withdraw(uint _amount) public {;bytes32(uint256(uint160(msg.sender))))

    智能合约安全(一):以太坊机制及安全问题

    隐形人真忙2021-09-26 16:41:00.0
    针对以太坊合约的 DoS 攻击会导致以太币和Gas的大量消耗;以太坊智能合约基于区块链(Blockchain)技术;表1   漏洞分类 分类 安全漏洞 高级语言Solidity 整数类型错误 未校验返回值 权限控制问题 拒绝服务 资产冻结 EVM 重入漏洞 短地址攻击 代码注入 区块链 交易顺序依赖漏洞 时间戳依赖漏洞 可预测的随机处理         可以采取一些措施规避潜在的重入漏洞;01 什么是以太坊智能合约;6)重入漏洞 虽然以太坊智能合约的执行是一个具有原子性和顺序性的事务操作

    使用scaffold-eth脚手架快速构建 Web3 Dapp 应用

    99Kies2021-09-24 19:56:48.0
    //github.com/scaffold-eth/scaffold-eth/tree/simple-nft-example 通过部署的React前端应用调用合约方法 回到刚才的话题;部署 /scaffold-eth/packages/hardhat/contracts/ 下的合约;使用scaffold-eth脚手架快速搭建一个Web3 Dapp应用 前言 上手开发 环境要求 部署 Scaffold-eth 脚手架 通过部署的React前端应用调用合约方法 总结 关于作者 前言 Scaffold-eth 是以太坊上优秀作品的集合;合约里提供了一个public 的string purpose;你可以在 /scaffold-eth/packages/hardhat/contracts/下找到这个合约并修改这个新合约的内容然后重新部署

    以太坊EIP-1559总结

    隐形人真忙2021-08-30 21:38:40.0
    basefee就会开始比父区块增加;则basefee = 父区块的basefee 如果父区块用掉的gas大于目标值;则下个区块的basefee就会增加;则basefee等于初始值 如果父区块用掉的gas和父区块的gas目标值相等;则basefee = 父区块basefee - delta

    以太坊源码 交易池(一) 基本流程解析

    软件工程小施同学2021-08-17 16:08:15.0
    则从all列表中删除这个被替换的交易 3)更新all列表 func (pool *TxPool) enqueueTx(hash common.Hash;pool.config.NoLocals) }   func (pool *TxPool) AddRemote(tx *types.Transaction) error {     return pool.addTx(tx;= nil {         pool.all.Remove(old.Hash())         pool.priced.Removed()         queuedReplaceCounter.Inc(1)     }     if pool.all.Get(hash) == nil {         pool.all.Add(tx)         pool.priced.Put(tx)     }     return old;func (pool *TxPool) AddLocal(tx *types.Transaction) error {     return pool.addTx(tx;t

    Miximus以太坊混币应用【EthSnarks/零知识证明】

    跨链技术践行者2021-07-31 14:11:53.0
    在这棵树上所有的币都是1个ETH 4、Bob使用密文生成zkSNARK证据;1、Bob给Alice一个只有他自己才知道的密文的哈希 2、Alice使用Miximus智能合约的Deposit()方法向合约存入1个ETH;5、Bob使用Miximus合约的Withdraw()方法提交证据和消费标签;那么Miximus向Bob支付1个ETH 4、Miximus混币应用的实现细节 如果Alice希望给Bob转账;该参数也是存入的币在Miximus合约中的merkle树上的叶节点

    WebAssembly (WASM)智能合约

    跨链技术践行者2021-07-02 14:05:17.0
    它允许以太坊开发者使⽤其他语⾔(例如 Rust、C++ 等)开发智能合约并编译为以太坊接受的 WebAssembly;总结 不安全的 Rust 直接影响了以 Rust 构建的 WASM 智能合约的安全性;虽然 Rust 在编译时会强制执⾏的内存安全保证;WASM 被设计为可供类似 C/C++/Rust 等⾼级语⾔的平台编译⽬标;如果 RUST 语⾔出现安全问题

    手把手教你在opensea出售自己的NFT|ERC721出售|ERC721智能合约

    zgsdzczh2021-06-25 16:21:42.0
    详见这篇文章 2、在浏览器上进行合约开源 开源的目的是为了更好的使用铸造方法 链接钱包后我们使用铸造方法进行部署智能合约 此处注意在uri栏中需要填入智能合约元数据;OpenSea 是目前以太坊网络上规模最大的 NFT(非同质化)买卖市场;链接在此 二、发行ERC721智能合约 1、使用remix部署 过程参考erc20智能合约;一、链接钱包 本文所使用Rinkeby网络;相见官网文档 3、铸造完成后即可在【我的收集】中看到这个项目了 点击进入后即可看到我们设置的相关信息 结尾 至此在opensea上发行我们自己的erc721智能合约教学即完成了

    区块链游戏项目(战舰游戏)基于layer2区块链技术,使用以太坊的solidity语言, 含全栈完整源码

    ChainingBlocks2021-05-06 20:05:29.0
    那么智能合约就会把赌注给另一个玩家;需要玩家b向智能合约中提交一个控告;当前玩家猜测对方玩家战舰所在的方格位置;需要将两个玩家的棋盘放到两个页面中;一个玩家只需要更新区块链状态两次(游戏开始和结束的时候)

    区块链项目实战 - 使用以太坊/智能合约solidity,全栈开发区块链借贷记账小应用,含完整源码

    ChainingBlocks2021-04-20 20:34:34.0
    包括他们的区块链地址和数额 只有借款人才能向智能合约中添加借款记录;借款人和贷款人以及数额被记录在区块链中;使用区块链地址来表示借款人或者贷款人;本文使用区块链平台以太坊+智能合约实现一个区块链记账的功能;的智能合约函数是不需要交易费的

    以太坊完成“柏林硬分叉”,硬分叉到底是个啥?

    区块链大本营2021-04-16 18:35:56.0
    以太坊进行了伊斯坦布尔硬分叉升级;  单独进行一次硬分叉升级以推迟难度炸弹;  无论如何每次硬分叉升级都代表以太坊的一次优化和完善;升级、硬分叉到底是什么;以太坊难度炸弹

    go每日新闻(2021-02-19)——Go1.17 快报:将移除 GOPATH

    韩亚军2021-02-19 21:10:32.0
    Go Module 支持版本撤回 从 Go 的二进制文件中获取其依赖的模块信息 在 2 分钟内使用 Go 复制 100 万个 redis 键 两个简单的步骤帮 web 服务创建 Swagger 文档 使用 go kit 创建微服务 来源;//studygolang.com/go/godaily GOCN每日新闻--2021-02-19 Go1.16 新功能;//gocn.vip/topics/node18 gopherDaily--2021-02-19 1.使用Go六年来犯过的那些错误 2.如何使用COBRA来实现简易的Go CLI命令行选项 3.在Go的世界里;也要付出代价 4.在Go中阻止SQL注入以及其他安全问题 5.如何使用Go连接到以太坊网络 6.LakeFS的存储设计 7.Go机器学习框架的性能基准测试对比 8.如何在Go中使用MQTT 9.Gitlab-Runner的工作原理 10.io_uring与epoll性能对比 11.在Go中何时以及如何使用iota 12.Tracee;技术宅拯救世界 你真的了解 sync.Mutex吗 二、MoeLove 从Go的二进制文件中

    区块链 以太坊 区块结构详解

    软件工程小施同学2020-12-25 21:25:23.0
      二、区块存储 以太坊在存储区块的时候;1. 区块头存储 以太坊通过如下方式将区块头转换成键值对存储在LevelDB中;其中headerPrefix的值是 []byte("h") 2. 区块体存储 区块体的存储方式也是类似;分别是 区块头(header) 区块体(body) 1. 结构图       2. 区块头(header) 区块头存储了区块的元信息;由本区块所有交易的交易哈希算出

    以太坊 账户类型 外部账户 合约账户

    软件工程小施同学2020-12-21 19:11:45.0
    以太坊的区块中存储的也是交易(transaction);      四、以太坊的交易和它的区块中存的是什么 和比特币一样;由智能合约的代码控制;  二、账户结构 以太坊的账户包括四个字段;MPT)形式存储的是相应的以太坊账户的状态

    区块链 以太坊 智能合约 运行原理和开发实例

    软件工程小施同学2020-12-17 09:58:15.0
      当用户将这个智能合约发布到以太坊网络中时;保险流程中的智能合约 智能合约的好处 安装先决条件 配置Genesis Block 运行以太坊专用网络 创建以太坊帐户 创建以太坊智能合约 执行以太坊智能合约     https;当Bob将一个包含智能合约信息(如上例代码)的交易发送到以太坊网络中后;将合约代码存于以太坊区块链上;  一、以太坊 智能合约的运行原理 1. 智能合约 智能合约是一种特殊协议

    从零教你发行自己的以太坊ERC20智能合约|Solidity智能合约开发

    zgsdzczh2020-12-14 17:53:52.0
    点击刚刚发布的智能合约地址;点击进入    下图则为你的合约地址;按钮 3、提交智能合约 点击;allowance[_from][msg.sender] -= _value;allowance[_from][msg.sender] -= _value

    以太坊开发者的常见误解

    区块链大本营2020-11-02 18:38:33.0
    合约是可以查看它在一笔交易中收到的 gas 的;在 gas 上限为 10M 的区块中打包两个 5M gas 交易;但这是该笔交易在 当前状态 下被打包会花费的 gas 量;Solidity 会拒绝所有发送到你的合约的以太币转账;如果我以更高的 gas 价格发送相同的交易

    V神演讲干货全送上!关于以太坊2.0,你想知道的都在这里!

    区块链大本营2020-08-08 17:30:14.0
    最核心的是以太坊 2.0分片和权益证明;要认真对待每个阶段中ETH 2和以太坊带来的好处;以太坊项目面临的主要挑战就是可扩展性问题;以太坊权益证明基于Casper FFG协议和LMD GHOST扩展;如果您正在使用ETH 2、或在ETH 2上构建应用、或在使用以太坊

    进行一笔以太坊交易时涉及的哈希计算

    powervip2020-07-29 17:57:36.0
    用于签名的哈希值的计算 交易发起者使用私钥对交易进行签名;sig) } s.Hash(tx)计算出用于签名的哈希值h;func (s EIP155Signer) Hash(tx *Transaction) common.Hash { return rlpHash([]interface{}{ tx.data.AccountNonce;Hash()函数是对整个交易数据(包括签名后的签名结果;然后再使用私钥prv对哈希值h进行签名

    开发者提示与技能分享:以太坊 API——交易生命周期追踪

    dfuse2020-06-20 04:13:38.0
    使用 dfuse 可以轻松获取以太坊上交易的实时状态;dfuse Lifecycle 提供对交易最新状态变更的流读取;  以太坊交易生命周期追踪——dfuse 以太坊 API   一般 dapps 现在提供的用户体验缺乏实时的交互性;dapps 可以实时向用户区块反馈链上交易的情况;用户发送一个交易后

    【区块链】以太坊Solidity编程:合约调用与web3.js

    镰刀韭菜2020-04-19 21:24:51.0
    合约调用与Web3.js 合约部署方法 合约的编译 使用浏览器编译器Remix 使用truffle编译;Web3调用合约 web3.js封装了合约调用的方法;调用合约 监听合约 合约调用 合约调用可以使用call或者send;合约对象的事件 参数;合约调用与web3.api 智能合约调用 以太坊支持通过各种方式与节点进行交互

    Hyperledger Fabric 和企业级以太坊,谁才是企业首选?

    区块链大本营2020-04-18 19:14:52.0
    这就是为什么我们看到较小的项目使用企业级以太坊而不是Hyperledger Fabric;另一个是Hyperledger Besu(它是企业级以太坊客户端;Azure区块链——Azure提供以太坊(Quorum / Geth)网络的部署以及区块链开发套件;我们看到这两个项目非常具有吸引力——企业级以太坊(Enterprise Ethereum)和Hyperledger Fabric;这是第一个以企业为中心的以太坊客户端

    【区块链】以太坊Solidity编程:智能合约实现之函数与合约

    镰刀韭菜2020-04-16 22:33:10.0
    一个合约调用另外一个合约的函数;智能合约实现之函数与合约 函数及基本控制结构 函数类型 函数也是一个类型;内部函数只能在当前合约内被使用;或者通过web3调用合约函数;一个函数类型的变量 还可以将一个函数作为参数进行传递 也可以在函数调用中返回一个函数 函数类型有两类

    快速学习-以太坊难度调整

    cwl_java2020-04-15 16:28:03.0
    这样产生一个区块需要的时间就可以做到稳定 以太坊中的难度计算 难度计算的规则 以太坊中有三种计算难度的规则;以太坊难度调整 什么是难度 难度(Difficulty) 一词来源于区块链技术的先驱比特币;区块难度不能低于以太坊的创世区块;这个参数Difficulty 就是所谓的难度 难度(Difficulty) 通过控制合格的解在空间中的数量来控制平均求解所需要尝试的次数;也就可以间接的控制产生一个区块需要的时间

    快速学习-以太坊编写合约的部署脚本

    cwl_java2020-04-15 14:29:25.0
    console.log('部署合约的账户;console.log('部署合约账户;然后选取 accounts[0] 作为部署合约的账户;const accounts = await web3.eth.getAccounts();const accounts = await web3.eth.getAccounts()

    【区块链】以太坊Soliddity编程开发:使用Remix的基本流程

    镰刀韭菜2020-04-12 01:06:01.0
    function helloWorld() public pure returns(string memory) { 异常4;即使派生的合约也无法调用 function helloWorld() public returns(string) { 异常2;在string后追加memory function helloWorld() public returns(string memory) { 异常3;可通过其他合约和交易进行调用的方法 private;使用msg.sender替代tx.origin constructor() public {

    【区块链】以太坊编程环境构建

    镰刀韭菜2020-04-11 20:41:24.0
    应当同时安装了node.js和npm npm -v node -v Ganache环境安装调试 安装;sudo npm install -g truffle 调试;从NodeSource仓库中安装Node.js sudo apt install curl;使用NVM安装Node.js和NPM Another way to install Node.js and NPM is with the Node Version Manager (NVM). NVM is a tool practical for managing multiple Node.js versions. sudo apt install curl;sudo npm install -g truffle

    快速学习-以太坊账户简介

    cwl_java2020-04-08 09:55:24.0
    以太坊账户 从UTXO谈起 比特币在基于UTXO的结构中存储有关用户余额的数据;系统中用户的余额(balance)是用户具有私钥的 UTXO 的总值 以太坊的做法 以太坊的;可能不存在像货币那样简单的用户状态划分方案;而交易会花费若干个输入的UTXO;而UTXO的每个交易都会使得状态引用发生改变

    快速学习-以太坊运行全节点的要求

    cwl_java2020-04-08 09:07:48.0
    需要4GB 以上 RAM;至少8GB RAM 8 MB/s下载带宽 推荐配置 四核以上的快速CPU 16GB 以上 RAM 500GB 以上可用空间的快速SSD 25+ MB/s下载带宽;以太坊运行全节点的要求 最低要求 双核以上CPU 硬盘存储可用空间至少80GB 如果是SSD;如果是HDD

    快速学习-以太坊全节点的优缺点

    cwl_java2020-04-08 09:02:42.0
    可以直接与公共区块链上的任何合约交互;可以直接把自己的合约部署到公共区块链中;必须及时维护、升级并保持在线状态以同步区块;第一次下载往往需要几天才能完全同步;可以离线查询区块链状态(帐户

    快速学习-以太坊全节点

    cwl_java2020-04-08 09:01:06.0
    以太坊开发不需要在实时网络(主网)上运行的全节点;以太坊全节点 全节点是整个主链的一个副本;每个全节点都可以帮助其他新节点获取区块数据;取决于具有许多独立操作和地理上分散的全节点;并提供所有交易和合约的独立验证

    快速学习-以太坊的组成部分

    cwl_java2020-04-07 17:49:56.0
    交易(Transaction) 以太坊交易是网络消息;以太坊虚拟机(EVM) 以太坊状态转换由以太坊虚拟机(EVM)处理;以太坊的组成部分 P2P网络 以太坊在以太坊主网络上运行;包含序列化后的交易和系统状态;客户端 以太坊有几种可互操作的客户端软件实现

    区块链入门——最新配置利用Remix部署以太坊智能合约并调用函数

    99Kies2020-03-28 19:16:37.0
    function set(string n) public{;不用安装MetaMask也可以在本地部署合约;区块链入门——配置利用Remix部署Solidity合约并调用函数 前言 创建合约 * 安装MetaMask(小狐狸) 编译合约 部署合约 调用函数 关于作者 前言 介绍利用Remix部署Solidity合约 实验工具 Google浏览器 缺点;比如现在部署HelloWorld合约;//www.trufflesuite.com/ganache 主要可以利用Ganache来部署一个本地的Dapp 如果是Injected Web3 Account的地址 则是你的账户地址 部署合约 调用函数 部署成功之后

    来,让我们逐一澄清以太坊 2.0 五大误解

    区块链大本营2020-03-18 16:43:57.0
    Eth2 将会在 2020 年启动;Eth1 会立即被弃用」 Eth1 会与 Eth2 共存至少一小段时间;Eth2 将会出现硬分叉;「Eth2 永不会启动」;以太坊网络升级意味着会有两个代币共存

    以太坊2.0、分片、DAG、链下状态通道……概述区块链可扩展性的解决方案!

    区块链大本营2020-03-12 17:34:00.0
    以太坊并不是第一个实施分片技术的区块链项目;Cardano、Harmony和Elrond等其他项目也一直在努力将分片技术集成到区块链技术中;而且也为以太坊实现分片的、支持PoS的区块链铺平了道路;BTC的低TPS一直是一个备受关注的问题 以太坊2.0——救世主 尽管比特币已经成为区块链技术的典型代表;分片技术用于将交易分解为分片并将其分布到整个网络中

    建议收藏!告诉你以太坊交易可能经历的8个状态以及 Dapp 该如何应对

    区块链大本营2020-03-08 12:00:00.0
    交易也可以不通过 PENDING (待处理)状态而直接从 REPLACED(被替换)状态转换为 IN_BLOCK (入块)状态;dapp 才能提供更好的用户体验——而标准的以太坊节点并不提供丰富的实时交易数据;dfuse 以太坊交易状态跟踪器 API 使开发人员能够提交以太坊交易;有些用户体验更成熟的 dapp 会向用户显示交易的动态更新;该接口支持实时详细跟踪以太坊交易的生命周期

    以太坊交易可能经历的8个状态以及 Dapp 该如何应对

    dfuse2020-03-02 12:19:01.0
    交易也可以不通过 PENDING (待处理)状态而直接从 REPLACED(被替换)状态转换为 IN_BLOCK (入块)状态; dfuse 以太坊交易状态跟踪器 API 使开发人员能够提交以太坊交易;dapp 才能提供更好的用户体验——而标准的以太坊节点并不提供丰富的实时交易数据;有些用户体验更成熟的 dapp 会向用户显示交易的动态更新;请参见文中交易状态中列出的 REPLACED 状态

    【区块链】以太坊Solidity编程:智能合约实现之基本语法

    镰刀韭菜2020-02-28 18:51:40.0
    用户积分交易表(address+address为key) mapping (address => mapping (address => uint[])) trans;定长的数组不可直接赋值给变长数组 mapping类型 映射定义 映射或字典类型;用户积分(address为key) mapping (address => uint) balances;一个用户地址拥有的积分 Dapp数据结构的改进 用户积分交易 struct UserTrade {;积分数量 … 用户积分交易表i(UserTrade) userId

    【区块链】以太坊Soliddity编程:智能合约实现之基础

    镰刀韭菜2020-02-26 14:27:46.0
    一般在代码开始引入声明 空格的使用规范;CapWords规范命名(首字母大写) 函数名使用大小写混合(构造函数除外);将函数体的左括号和函数名放在同一行 右括号和函数声明保持相同的缩进 左括号和函数名之间要增加一个空格 对于参数较多的函数声明可将所有参数逐行显示;合约中代码的可执行单元 函数修饰器;保留一个空行 如果只声明函数

    16 以太坊中的数据结构及其状态树

    文三路张同学2020-02-17 19:46:15.0
    比特币中每个全节点中构建的Merkle tree也是不一样的;比特币系统中也是每出现一个区块就要构建一棵Merkle tree;只保存了发生改变节点的分支 可以看到上述图片中发生变化的账户是一个合约账户;但是在以太坊中要发布的是账户的状态(数量级很大;所以在以太坊中要是不保存之前的状态

    图文并茂详细介绍Solidity的三种合约间的调用方式 call、delegatecall 和 callcode

    powervip2020-02-15 18:31:38.0
    但执行环境为调用者(A合约)的运行环境 情况 3;temp1 = 调用A合约的以太坊账号地址 temp2 = 100 B合约;temp1 = A合约地址 temp2 = 100 B合约;执行环境为被调用者(B合约)的运行环境(运行环境指合约的 storage) 情况 2;但执行环境为调用者(A合约)的运行环境

    10、以太坊智能合约开发(编写智能合约的安全性相关和注意事项)

    Johnny.Cheung2020-02-04 18:57:51.0
    因为合约账户没有private key;合约账户(contract accounts) 可以接收、和持有资金;外部拥有账户(externally owned accounts)可以对资金进行接收、持有、和转账;但是wei 3.如果把资金转账到了合约账户里;会花费掉所有的gas(一定要避免使用它) 7.不要使用tx.origin

    9、以太坊智能合约开发(暂停运行合约和合约升级)

    Johnny.Cheung2020-02-04 18:44:52.0
    使得合约里的所有函数;不能是其他人 address private contractOwner;或者跟转账、提款等重要的函数进行约束暂停使用、开放使用等功能;调用该函数是合约拥有者调用;使得函数很容易受到约束的控制

    7、以太坊智能合约(安全审计 和 测试工具)

    Johnny.Cheung2020-02-01 18:39:17.0
    支持由Ethereum、Quorum、Vechain、Roostock、Tron和一些其他的EVM兼容的区块链框架编写的智能合约;Manticore发现bug并生成触发他们所需要的输入 Execution Tracing;Manticore通过Python API公开对其分析引擎的程序访问 Mythril 是一个以太坊区块链的逆向和bug捕获的框架 安全的EVM字节码分析工具;Manticore自动生成输入来触发独立的代码路径 Error Discovery;安全审计 Security Audits 当你开发完智能合约后

    6、以太坊智能合约(DAO攻击和Parity攻击)

    Johnny.Cheung2020-02-01 12:06:40.0
    这次攻击被称为DAO Attack;DAO 攻击 在以太坊网络上;有一次大规模的攻击;攻击发生后;function withdrawCoins(){

    以太坊智能合约 network id 列表

    Johnny.Cheung2020-01-28 17:16:57.0
    the public Ethereum Classic PoW testnet 3;the (un)forked public Ethereum Classic PoW main network;the public cross-client PoA testnet for Classic 8;the Ethereum public PoW main network 1;the public cross-client Ethereum PoW testnet 4

    以太坊智能合约编程之带菜鸟入门教程

    学亮编程手记2020-01-17 11:06:16.0
    这个地址会在合约的构造函数function Conference()中被赋值;在Solidity合约中可以使用this来访问这个合约地址;如果你想要在测试中通过web3.js使用合约中的某个变量;许多人担心需要运行以太坊节点才能使用DApp的话会把用户吓跑;在上面的测试中truffle通过Conference.deployed_address获得合约部署在区块链上的地址

    3、以太坊智能合约开发(语法开发学习)

    Johnny.Cheung2020-01-08 11:04:50.0
    Smart Contracts 智能合约 什么是智能合约;用来管理变量和其他数据 Smart Contracts的语种种类 1.Solidity(以太坊使用的) 2.Serpent 3.Lisp-like language A Smart Contracts Use Case 一个智能合约的使用案例 1.买方想在卖方买一个商品 2.买方会先发送价值相等Ether到智能合约 3.智能合约会持有这些资金(就像第三方托管平台escrow) 4.卖方发货给买方;上链资产 d.智能合约是绝对的以太坊合约 f.智能合约将以太坊和比特币区分开来 Ethereum允许我们在参与节点之外运行代码或者程序;然后买方收到商品后告诉智能合约他收;Smart Contracts属性 1.有一个账户

    以太坊Ethereum存储和数据结构 图示

    ChainingBlocks2020-01-04 21:00:30.0
    谢谢 reference https;//github.com/liangyihuai/understanding_ethereum_trie 这个链接的readme文件还有一个油管视频的链接;//ethereum.stackexchange.com/questions/268/ethereum-block-architecture;推荐观看

    【区块链】以太坊学习基础

    镰刀韭菜2019-12-27 14:01:41.0
    以太坊=区块链+以太坊虚拟机(EVM);阅读以太坊黄皮书是最佳的学习方法 以太坊入门学习指南 以太坊DApp编程全流程 基本测试环境 Truffle编程框架 Solidity智能合约编程语言 Web3js合约调用 js/node.js基础 以太坊学习主要内容 以太坊简介 以太坊编程环境构建 js/nodejs简介;投票系统 区块链典型系统结构 应用层 合约层 激励层 共识层 网路层 数据层 以太坊技术框架 以太坊核心概念 点对点网络;智能合约调用 以太坊虚拟机(EVM) 以太坊是一套可以实现分布式应用的平台协议;以太坊基础 简介 区块链是一种分布式流水账数据库

    实例分析+ 实践步骤,手把手教你编写以太坊、EOS智能合约!

    区块链大本营2019-12-08 18:09:59.0
    可以使用以下代码获得其 ABI 和智能合约地址;5. 调试智能合约 为调试智能合约;② 智能合约ABI;在智能合约中打印信息可以通过打印 API(C 和 C++)来完成;以上代码可以简单构成一个智能合约——对冲合约

    以太坊交易量第一合约FAIRWIN被爆漏洞, 竟是因为这个接口被滥用……

    区块链大本营2019-09-29 11:05:55.0
    项目合约之内便无中生有了5000多个ETH;可以发现项目方已于2019年7月28日(合约上线第二天)通过closeAct()关闭了该接口;进一步分析是否已经存在攻击者插入投注数据成功的情况;发现了其合约存在一个remedy()接口;总共发现503条插入成功的交易记录(500个地址)

    3个阶段展示以太坊2.0最新进展(附详实参考来源)

    区块链大本营2019-06-26 18:44:24.0
    最近最令人兴奋的是有关阶段0 (接近信标链客户端的互操作性) 和阶段2 (以太坊 2.0计算模型的开始) 的进展;以太坊 2.0的交付计划分为三个不同的阶段;以太坊 2.0要交付的阶段2还是一片迷雾;在以太坊1.0链中;当前由8个活跃团队正在跟上最新的以太坊2.0规范

    独家!天才少年 Vitalik:“中国开发者应多关注以太坊!”

    区块链大本营2019-06-14 20:32:31.0
    对于中国以太坊社区和开发者;我希望中国开发者能更多地了解以太坊;中国以太坊社区有了很大的发展;我个人认为以太坊的创新超过其他;我构思以太坊这个项目时

    独家对话V神! 质疑之下的以太坊路在何方?

    区块链大本营2019-06-14 18:06:00.0
    对于中国以太坊社区和开发者;我希望中国开发者能更多地了解以太坊;中国以太坊社区有了很大的发展;现有的以太坊开发者需要做哪些改变;我个人认为以太坊的创新超过其他

    一文读懂以太坊存储数据核心数据结构:MPT

    区块链大本营2019-05-19 12:03:00.0
    文件块、一段数据集) 非叶子节点 (包括中间节点和根节点) 存储着对应子节点 Hash 值串联字符串之后的 Hash 值;第1位区分节点类型 如果输入key的长度是偶数;从上图中我们可以看出Trie树的特点;先从可靠的源获得文件的 Merkle Tree 树根;对于基数树的每个节点

    以太坊 2.0:验证者详解

    跨链技术践行者2019-05-14 09:15:11.0
    该验证者就会被系统从验证者集合中剔除;希望社区把以太坊的新阶段(以太坊 2.0 )称为;然而分发给其余验证者会使得验证者互相攻击;然后解释新系统中的验证者;验证提议的验证者叫证明者(attester)

    详解以太坊世界状态

    跨链技术践行者2019-05-12 09:21:15.0
    交易前缀树 —— 一个区块一个树 每一个以太坊区块都有着自己的独立的交易前缀树;以太坊的账户中只在(与该账户有关的)交易完成后才加入到状态前缀树中;状态前缀树 —— 独一无二 以太坊中有且只有一个全局状态前缀树;这个状态前缀树包含了以太坊网络中每一个账户的一组键值对;状态前缀树 存储前缀树 交易前缀树 收据前缀树 接下来的章节中我们将假设你已经安装并配置好了你自己的以太坊私有网络

    Metropolis(大都会):以太坊网络的下一个阶段

    跨链技术践行者2019-05-11 16:32:41.0
    目标是使使用以太坊EVM变得更简便;以太坊轻客户端库几个月前发布了alpha;以太坊虚拟机进步了40% * 状态输入和读取速度的优化 * 快速同步变得更快 这些进展让我们更快得接近以太坊Metropolis 除了客户端以外;Metropolis(大都会) 是以太坊发布计划四个系列中的第三个系列;还有一些独立的团队开始搭建以太坊移动客户端

    以太坊设计与实现:数据结构与对象-账户

    跨链技术践行者2019-05-09 17:22:33.0
    由外部账户 acct1 创建合约账户地址;因为外部账户无内部存储数据和合约代码;合约账户 含有合约代码的账户;项 外部账户 合约账户 私钥 private Key ✔️ ✖️ 余额 balance ✔️ ✔️ 代码 code ✖️ ✔️ 多重签名 ✖️ ✔️ 控制方式 私钥控制 通过外部账户执行合约 上面有列出多重签名;只能通过外部账户来驱动合约执行合约代码

    以太坊:用 Solidity 写测试用例

    跨链技术践行者2019-05-09 17:04:26.0
    your Solidity test should have a public function that returns a uint;Truffle will send that amount of Ether from your test account to your test contract. Your test contract can then use that Ether to script Ether interactions within your contract under test. Note that initialBalance is optional and not required. import "truffle/Assert.sol";you’ll have to import the contract code into your test suite. Notice import "../contracts/MetaCoin.sol";Note that Truffle sends Ether to your test contract i

    以太坊:常规状态数据(General Stats)

    跨链技术践行者2019-05-09 09:13:35.0
    to get value in Ether divide resultAbove/1000000000000000000) 获取以太最新价格 https;接口的参数说明请参考Etherscan API 约定;获取以太总供应量 https;module=stats&action=ethprice&apikey=YourApiKeyToken;syncmode value is ‘default’ or ‘archive’ https

    以太坊合约介绍

    跨链技术践行者2019-05-08 13:01:14.0
    public 函数是合约接口的一部分;function f(uint256 _in) public pure returns (uint256 out) {;这里调用了一个下面定义的合约中的函数;function getData() public returns(uint) { return data;// 发送到这个合约的所有消息都会调用此函数(因为该合约没有其它函数)

    以太坊 Layer 2 资产桥方案解析:Arbitrum、zkSync 与 DeGate Bridge

    跨链技术践行者2019-04-25 09:28:20.0
    L1 ->L2 用户从 L1 发起 Deposit 交易 资产存入 L1 合约;资产被存入一个 L1 上的 Arbitrum 桥合约中;用户可以在一个挑战期内发起重试 L2 -> L1 用户在 L2 发起 Withdraw 交易 L2 链将在一定时间内收集到的交易打包;首先会将这些 token 存入 L1 的桥合约中;用户即可在 L1 完成交易

    以太坊数据结构与存储分析

    跨链技术践行者2019-04-15 07:35:14.0
    每个节点数据所携带的 key 不会存储在 Trie 的节点中;这个 MPT 结构中存储的都是 stateObject 对象;待存储的数据只存于叶子节点中;区块结构定义在 block.go 中;所有交易以及结构都存于一个个区块中

    以太坊 (Ethereum )白皮书:下一代智能合约和去中心化应用平台

    跨链技术践行者2019-04-03 09:48:14.0
    目录 历史 作为状态转换系统的比特币 挖矿 默克尔树 替代区块链应用 脚本 以太坊 以太坊账户 消息和交易 以太坊状态转换功能 代码执行 区块链和挖矿 应用 令牌系统 金融衍生品 身份和信誉系统 去中心化文件存储 去中心化自治组织 进一步的应用 杂项和关注 改进版幽灵协议的实施 费用 计算和图灵完备 货币和发行 挖矿的中心化 扩展性 综述;基于比特币区块链的元币协议不能强迫区块链不包括不符合元币协议的交易;因为元币协议不能阻止比特币区块链上的无效的元币交易;比特币允许基于多重签名的交易合约;在比特币区块链上建立元币协议

    一文看懂以太坊2.0最新进展

    区块链大本营2019-04-02 18:05:00.0
    //github.com/ethereum/eth2.0-specs/pull/835 1. 信标链规范 (阶段0) 规范链接;2. 分片链规范 (阶段1) 规范链接;//github.com/ethereum/eth2.0-specs/pull/787 5. 轻客户端规范 相关链接;这还不包括以太坊2.0客户端实现;@protolambda 已经加入了以太坊2.0的测试和基础设施相关工作中

    什么是以太坊大都会:终极指南

    跨链技术践行者2019-03-27 09:37:41.0
    根据以太币的数量和时间会产生用于下注验证区块的权益;智能合约是如何在以太坊中被执行的呢;Bob 将会使用验证算法 V (Vk;Alice 要向 Bob 证明自己拥有这个房间的钥匙;"大都会"会给以太网络带来什么新的特性

    以太坊解析:默克尔树、世界状态、交易及其他

    跨链技术践行者2019-03-27 09:25:57.0
    -区块、交易、账户状态对象以及以太坊的默克尔树- 根据我的经验;-世界状态树与账户存储- 账户状态 以太坊中有两种账户类型;由账户状态保存账户存储树的根节点哈希值(在 storageRoot 字段);区块同时保存了 stateRoot 、transactionRoot 、 receiptsRoot 、 世界状态树的根节点哈希、交易树以及对应的交易收据树;由区块头(在 transactionsRoot 区域)保存交易树的根节点哈希值

    以太坊区块的数据结构解析

    HeisenbergWDG2019-03-25 15:05:43.0
    Block的Number等于其父区块Number +1;该区块的父区块的哈希值;Block的Difficulty由共识算法基于parentBlock的Time和Difficulty计算得出;每个区块有且只有一个父区块;根据父区块的GasUsed同GasLimit * 2/3的大小关系来计算得出
腾讯云服务器
关注微信
领取极客时间APP免费7天超级会员关闭
扫一扫关注公众号关闭