TheDao 简化版解释

the Dao 合约

contract f1{
function transfer()
{
if (acccount[m]>=100) {
m.send(100)
account[m]-=100
} }
}

send 会调用 m 的 fallback 函数

但是 m 不是一个普通的地址,而是下面的合约

contract m {
//fallback function
function ()payable{
f1.f()
}
}

结论

先扣钱再转转

contract f2{
function transfer()
{
if (acccount[m]>=100) {
account[m]-=100
m.send(100)
} }
}

thedao的更多相关文章

  1. 区块链(Blockchain)

    一 .什么是区块链? 区块链(Blockchain)是由节点参与的分布式数据库系统[1],它的特点是不可更改,不可伪造,也可以将其理解为账簿系统(ledger).它是比特币的一个重要概念,完整比特币区 ...

  2. go ethereum源码分析 PartIV Transaction相关

    核心数据结构: core.types.transaction.go type Transaction struct { data txdata // caches hash atomic.Value ...

  3. Xtoken

    “我希望有一种模式,利用群体的智慧让最好的想法总能够脱颖而出”. 博弈模型 背景 本文为NEO社区理事会秘书长陶荣祺在全球创业周区块链创新与发展论坛上的主题演讲<Xtoken代观社区驱动群体智慧 ...

  4. Smart Contracts

    A smart contract is a computer code running on top of a blockchain containing a set of rules under w ...

  5. 每一个JavaScript开发者都应该知道的10道面试题

    JavaScript十分特别.而且差点儿在每一个大型应用中起着至关关键的数据.那么,究竟是什么使JavaScript显得与众不同,意义非凡? 这里有一些问题将帮助你了解其真正的奥妙所在:   1.你能 ...

  6. pre-fork 分叉 软分叉 硬分叉 前叉实现 pre-fork implementation

    https://mp.weixin.qq.com/s/wIDTs2J1ZkLkAEHqQnkYnw 什么是分叉?为何对区块链发展至关重要? Uselink公有链 Uselink公有链 2018-12- ...

  7. 干货 | 以太坊Mist负责人教你建立无服务器应用

    作者:Alex Van de Sande译者:王建/蔡佳慧译者介绍: 王建:万云平台区块链技术专家,拥有多年应用系统架构经验,目前在区块链落地方面进行积极探索 蔡佳慧:万云平台实习生,区块链技术爱好者 ...

  8. ICO和区块链区别

    区块链项目众筹(ICO)浅析 2017-07-25 原创 Fintech科普大使 ICO是区块链初创公司项目融资的重要方式类似于Kickstarter众筹,但有不同之处(具体在下一节详述),可以避开传 ...

随机推荐

  1. java二维数组求每行最大值,每列最小值,及输出数组主对角线上的元素

    总结:完全搞不懂,行和列是怎么弄的,,,,, package com.c2; import java.util.Scanner; public class Oaa { public static vo ...

  2. winform为本地化资源添加tag属性

    示例: /// <summary> /// 查找 System.Drawing.Bitmap 类型的本地化资源. /// </summary> internal static ...

  3. 红黑树(Red-Black Tree)

    概念解析: 红黑树是一种自平衡二叉查找树(self-balancing binary search tree).因此,红黑树本身就是二叉树的一个变种.典型的用途是实现关联数组(Associative ...

  4. ubuntu 14.04 no valid active connections found

    ubuntu 14.04 强制重启后出现不能上网,点击connection information 后出现error: no valid active connections found 解决办法是在 ...

  5. 一个简单的Python多线程

    首先对一段普通的代码进行测试 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import time def RunThrea ...

  6. Linux性能监测:网络篇

    网络的监测是所有 Linux 子系统里面最复杂的,有太多的因素在里面,比如:延迟.阻塞.冲突.丢包等,更糟的是与 Linux 主机相连的路由器.交换机.无线信号都会影响到整体网络并且很难判断是因为 L ...

  7. 委托BegionInvoke和窗体BegionInvoke

    委托BegionInvoke是指通过委托方法执行多线程任务,例如: //定义委托成员变量 delegate  void dg_DeleAirport(); //指定委托函数 dg_DeleAirpor ...

  8. 第六章 MySQL函数(待续)

    ············

  9. 前端自动化之webstrom

    前端自动化之webstrom 在刚接触前端的时候,使用的就一直是webstrom,版本是webstrom 8. 前端自动画使用的时候,因为webstrom 8版本是没有集成gulp的.所以每次使用都默 ...

  10. git用法小结(1)--建立远程仓库

    最近一直在学习使用git来管理自己的程序,总是今天东学一点,明天西凑一点,到用的时候,总是有些茫然不知所措. 在博客园里看见一篇老好的文章,教我们做笔记啦,但是做完笔记还是要记得总结哦! 来吧,让我们 ...