defi拆分理财dapp系统开发|双币质押理财dapp平台开发逻辑|智能合约定制方案

简介: defi拆分理财dapp系统开发|双币质押理财dapp平台开发逻辑|智能合约定制方案

智能合约就是一段代码,一些人为制定的规则,运行在区块链中,参与治理的人必须遵从这些规则才能正常的使用下去。它开启了区块链的许多的实际应用场景,许多社会问题、需求、痛点都能通过区块链进行解决。不同行业、种类的规则都可以写进智能合约里面。

智能合约结合区块链,让其不可篡改、去中心化的特性真正发挥出价值,人们可以利用它开发出各种各样解决行业痛点的软件、Dapp。

​合约方法

在这里constant相当于他声明这个局部变量不能更改,但是他并没有实际作用(实际就只是警示作用)

地址adress

  • address.balance 账户余额
  • adress.transfer(value) 返回调用者
  • adress.send(value) 返回调用状态
  • adress.call,adress.callcode and adress.delegatecall 用在智能合约与智能合约彼此相互调用

ether单位

  • wei
  • szabo = 10^12wei
  • finney=10^15wei
  • ether=10^18wei

  • block.blockhash(uint blockNumber) returns(bytes32)
  • block.coinbase(adress) 谁挖到这个block
  • block.difficulty(uint) 块难度
  • block.gaslimit(uint) gas限制(最多)
  • block.number(uint) 块的序号
  • block.timestamp(uint) 块创建时间
  • now

单员工薪酬智能合约实例

pragma solidity ^0.4.22;

contract Pay{

uint salary = 1 ether;  //工资总额

address frank =0x57ec6c8f13c46b43dcd28c83753dec9224d23ef2;  //frank的账户地址

uint  constant payDuration = 30 days;   //发放薪资的周期

uint lastPayday = now; 

function addFund() payable returns(uint){

    return this.balance;   //返回余额

}

function colculateRunway() returns(uint){

    return this.balance / salary;  //返回余额能够发放工资的次数

}

function hasEnoughFund() returns(bool){

    return this.colculateRunway() > 0;   //限制能够发放薪资的次数大于0次

}


function getPaid(){

    if(msg.sender != frank){

        revert();   //如果合约调用者不是frank 那么直接抛出异常

}

错误检测

  • assert(bool) 使用在程序运行时
  • require(bool) 使用在程序输入时
相关文章
|
SQL 关系型数据库 MySQL
深入解析MySQL的EXPLAIN:指标详解与索引优化
MySQL 中的 `EXPLAIN` 语句用于分析和优化 SQL 查询,帮助你了解查询优化器的执行计划。本文详细介绍了 `EXPLAIN` 输出的各项指标,如 `id`、`select_type`、`table`、`type`、`key` 等,并提供了如何利用这些指标优化索引结构和 SQL 语句的具体方法。通过实战案例,展示了如何通过创建合适索引和调整查询语句来提升查询性能。
2556 10
|
网络协议 Ubuntu Linux
在IPad Pro上怎么实现代码自由,如何让IPad Pro变成你的生产力工具?
如何让IPad Pro变成你的生产力工具?在IPad上用Vscode写代码搞开发
665 1
在IPad Pro上怎么实现代码自由,如何让IPad Pro变成你的生产力工具?
|
安全 关系型数据库 MySQL
MySQL权限管理大揭秘:用户、组、权限解析
MySQL权限管理大揭秘:用户、组、权限解析
1179 0
|
监控 Shell Linux
systemd调试
systemd调试,参考https://freedesktop.org/wiki/Software/systemd/Debugging/
2004 0
|
负载均衡 监控 Dubbo
Dubbo底层原理分析和分布式实际应用
Dubbo底层原理分析和分布式实际应用
534 0
|
存储 安全 Java
【C++】模板进阶|继承
模板的特化和分离编译、继承的全方面剖析。
|
JavaScript
TypeScript清空数组的4种方法
TypeScript清空数组的4种方法
1090 0
|
Oracle Java 关系型数据库
JDK下载(最新)
JDK下载(最新)
PyWin32库操作微信自动发送消息
闲得无聊随便练练
397 0
|
传感器 人工智能 开发框架
ESP32 + Python 还不知道怎么垃圾分类? 用HaaS DIY一个智能垃圾桶吧
ESP32 + Python 还不知道怎么垃圾分类? 用HaaS DIY一个智能垃圾桶吧
558 0