什么是Ricardian Contract李嘉图合约?

2023-10-28

Ricardian Contracts是数字文档,用于定义两方或多方之间交互的条款和条件。

在20世纪90年代,伊恩·格里格(Ian Grigg)在寻找创造数字化现金的愿景的朋友之后学会了资产的数字化。Ian Grigg发现债券数字化的必要性,并试图在互联网上发行相同的债券,因为它们也是金融资产,而世界正在开始通过互联网创建业务。在努力解决问题的过程中,Ian Grigg开发了李嘉图合约。

李嘉图合约与我们今天的智能合约有什么不同?

智能合约是机器可读的指令集,而李嘉图合约是指明智能合约所遵循的指令意图的文件。

智能合约看起来像这样:

 `#include <eosiolib/eosio.hpp>

class simpletoken : public eosio::contract {
   public:
      simpletoken( account_name self )
      :contract(self),_accounts( _self, _self){}

      void transfer( account_name from, account_name to, uint64_t quantity ) {
         require_auth( from );

         const auto& fromacnt = _accounts.get( from );
         eosio_assert( fromacnt.balance >= quantity, "overdrawn balance" );
         _accounts.modify( fromacnt, from, [&]( auto& a ){ a.balance -= quantity; } );

         add_balance( from, to, quantity );
      }

      void issue( account_name to, uint64_t quantity ) {
         require_auth( _self );
         add_balance( _self, to, quantity );
      }

   private:
      struct account {
         account_name owner;
         uint64_t     balance;

         uint64_t primary_key()const { return owner; }
      };

      eosio::multi_index<N(accounts), account> _accounts;

      void add_balance( account_name payer, account_name to, uint64_t q ) {
         auto toitr = _accounts.find( to );
         if( toitr == _accounts.end() ) 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么是Ricardian Contract李嘉图合约? 的相关文章

  • ioctl函数详细分析

    IPv4 和 IPv6 的网络接口操作使用套接字 ioctl 命令 级别 中级 Katiyar Manish manish katiyar in ibm com 软件工程师 IBM Intel Microsoft HPShweta Gupt

随机推荐

  • 显式调用构造函数和析构函数

    今天跟同事聊天 他说到STL源码有用到显示调用析构函数 试一了一下 果然能行 include lt iostream gt using namespace std class MyClass public MyClass cout lt l
  • SqlServer傻瓜教程 — 表备份

    大家好 我们知道类似于ERP这种大型软件 最大的难点就在庞大数据库的整理和维护 表备份顾名思义 是对一个表进行备份 那么我们什么时候需要表备份呢 表备份是在操作大型ERP数据库的某一个表中有重要数据的时候 测试你对此表操作的存储过程 或者测
  • pytorch下import numpy失败_PyTorch的编译系统

    背景 本文以PyTorch 1 0为基础 PyTorch的编译首先是python风格的编译 使用了python的setuptools编译系统 以最基本的编译安装命令python setup py install 为例 这一编译过程包含了如下
  • 两台linux服务器互相自动备份

    将数据同步到其它服务器这里使用Linux同步文件工具rsync来进行文件的同步 rsync rsync是类unix系统下的数据镜像备份工具 remote sync 一款快速增量备份工具 Remote Sync 远程同步 支持本地复制 或者与
  • 【教3妹学算法-leetcode】数组能形成多少数对

    插 前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住分享一下给大家 点击跳转到网站 坚持不懈 越努力越幸运 大家一起学习鸭 3妹 这么热的天气还要持续多久啊 快要被热死了 2哥 感觉还要有一阵子 今天刚入伏 3妹 啊 今年
  • 三极管的工作原理详解,图文+案例

    什么是三极管 三极管全称是 晶体三极管 也被称作 晶体管 是一种具有放大功能的半导体器件 通常指本征半导体三极管 即BJT管 典型的三极管由三层半导体材料 有助于连接到外部电路并承载电流的端子组成 施加到晶体管的任何一对端子的电压或电流控制
  • C语言程序设计 例7-5

    例7 5 原题 选择排序法 输入一个正整数n 1
  • C++解释器模式:Interpreter Pattern

    当有语言要解释时 请使用解释器模式为语言创建解释器 解释器模式的核心是解释器类 在解释器模式中一般会定义两种解释器 终结符解释器 Terminal Expression Interpreter 终结符解释器用于解释语言中的基本单位 对应语法
  • [架构之路-210]- 人人都是产品经理 - 互联网产品解决用户需求的分析思路和方法笔记

    目录 前言 一 产品需求分析思路和方法 产品需求 1 产品需求的内涵 什么是产品 什么是需求 需求的产品的关系 案例分析 理解需求的误区 2 需求的分类及层次 规律 拆解用户需求 需求分类 需求层次 马斯洛需求层次理论 需求层次的规律 拆解
  • K-means聚类之一(多维整型数据)

    算法介绍 k means 算法接受输入量 k 然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足 同一聚类中的对象相似度较高 而不同聚类中的对象相似度较小 聚类相似度是利用各聚类中对象的均值所获得一个 中心对象 引力中心 来进行计算
  • javascript对象概念大全

    http www css88 com archives 512 本文介绍了几乎所有关于对象的基本概念 什么是对象 如何创建对象 对象的属性的设置和读取 删除属性的方法 构造函数 对象原型 父类 子类 继承等等 1 对象 对象是一种复合数据类
  • Python爬虫小程序

    import base64 import string import time from selenium import webdriver from selenium webdriver chrome service import Ser
  • 【Docker技术入门与实践(第2版)】Docker入门_学习笔记

    第一章 1 Docker入门须知 1 1 Docker基本知识 Docker是基于Go语言实现的开源容器项目 诞生于2013年年初 最初发 起者是dotCloud公司 Docker自开源后受到广泛的关注和讨论 目前已有多个相关项目 包括Do
  • OpenCV中GPU模块(CUDA)函数

    The OpenCV GPU module is a set of classes and functions to utilize GPU computational capabilities It is implemented usin
  • java读取excel中的数据(包括.xlsx和.xls)

    java读取excel中的数据 包括 xlsx和 xls java读取excel文件中的数据常用jxl和poi两种方式 其中最主要的区别在于jxl不支持 xlsx 而poi支持 小编平时用的比较多的是poi的方式 所以今天小编介绍的也是po
  • 时间戳的基本概念

    1 什么是时间戳 时间戳是指格林威治时间自1970年1月1日 00 00 00 GMT 至当前时间的总秒数 它也被称为Unix时间戳 Unix Timestamp 通俗的讲 时间戳是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证
  • 业内同行盆友来稿:对libc.so下毒手引发的惨痛血案,围观大型翻车现场...

    写在开篇 为了在线上安装环境依赖 给glibc库升级 由于线上环境libc so版本低 不支持安装 所以手贱把动态库中的libc so 6给移走了 直接导致Linux系统崩溃 系统瘫痪 所有用户均被强制退出 意识到缺少对libc so的认识
  • SpringBoot MybatisPlus 动态数据源

    实现功能 通过访问同一个接口携带不同参数查询不同的数据库 动态进行数据源切换 1 创建一个数据源对象 管理数据源和过期时间 Data NoArgsConstructor AllArgsConstructor public class Dat
  • zibgee协议

    1 概述 1 1解析ZigBee堆栈架构 ZigBee堆栈是在IEEE 802 15 4标准基础上建立的 定义了协议的MAC和PHY层 ZigBee设备应该包括IEEE802 15 4 该标准定义了RF射频以及与相邻设备之间的通信 的PHY
  • 什么是Ricardian Contract李嘉图合约?

    Ricardian Contracts是数字文档 用于定义两方或多方之间交互的条款和条件 在20世纪90年代 伊恩 格里格 Ian Grigg 在寻找创造数字化现金的愿景的朋友之后学会了资产的数字化 Ian Grigg发现债券数字化的必要性