DeFi拆分理財雙幣質押dapp系統開發|智慧合約定製方案詳情

nice1022發表於2023-03-10

智慧合約就是一段程式碼,一些人為制定的規則,執行在區塊鏈中,參與治理的人必須遵從這些規則才能正常的使用下去。它開啟了區塊鏈的許多的實際應用場景,許多社會問題、需求、痛點都能透過區塊鏈進行解決。不同行業、種類的規則都可以寫進智慧合約裡面。


智慧合約結合區塊鏈,系統開發I34-案例I633-演示53I9,讓其不可篡改、去中心化的特性真正發揮出價值,人們可以利用它開發出各種各樣解決行業痛點的軟體、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)  使用在程式輸入時



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70011332/viewspace-2938982/,如需轉載,請註明出處,否則將追究法律責任。

相關文章