国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

BSV 上基于智能合約的眾籌

這篇具有很好參考價(jià)值的文章主要介紹了BSV 上基于智能合約的眾籌。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

我們展示如何在 BSV 上開發(fā)眾籌平臺。與 Kickstarter 類似,資金要么是全部,要么什么都沒有。也就是說,如果沒有達(dá)到籌款目標(biāo),則保證資金返還。

BSV 上基于智能合約的眾籌

與 Kickstarter 相比,我們的方法由智能合約自動(dòng)執(zhí)行,不需要將資金委托給受信任的第三方,并且費(fèi)用低。

我們首先介紹一種傳統(tǒng)的方法來實(shí)現(xiàn)這一點(diǎn),然后介紹一個(gè)改進(jìn)的版本。

第一次嘗試:Lighthouse

早期的比特幣開發(fā)者 Mike Hearn 建立了一個(gè)基于擔(dān)保合約的眾籌平臺 Lighthouse。它使用 SIGHASH 標(biāo)志 是 ALL | ANYONECANPAY.

BSV 上基于智能合約的眾籌

ANYONECANPAY 輸入可以被合并
  • ALL 確保所有資金都流向所需的接收者,并且總數(shù)恰好是某個(gè)目標(biāo)。簽名后無法更改收件人和目標(biāo),防止捐款被重定向。
  • ANYONECANPAY 確保每個(gè)貢獻(xiàn)者都可以獨(dú)立捐款。每個(gè)人都簽署自己的輸入并將部分交易交給接收者,接收者將所有輸入合并到一個(gè)交易中并贖回資金。

請注意,在達(dá)到目標(biāo)之前,輸入值之和小于輸出值,交易無效,收款人無法領(lǐng)取資金。

改進(jìn)

上述眾籌有幾個(gè)缺點(diǎn):

  1. 貢獻(xiàn)者可以隨時(shí)提取他的認(rèn)捐資金
  2. 募集資金不得超額認(rèn)購。即使人們想貢獻(xiàn)超過目標(biāo),額外的金額也將作為費(fèi)用支付給礦工,而不是支付給接受者。

為了改進(jìn),每個(gè)貢獻(xiàn)者將他的資金鎖定到以下合約中并廣播包含它的交易。這鎖定了他的資金,在截止日期之前不能撤回。

contract Crowdfund {
    // receiver of the fund
    PubKeyHash recepient;
    
    PubKey contributor;

    int deadline;
    
    // minimum amount to raise
    int target;

    // pledge fund
    public function pledge(SigHashPreimage txPreimage, int raisedAmount) {
        require(Tx.checkPreimage(txPreimage));

        // reach target
        require(raisedAmount >= this.target);

        // fund goes to the recepient
        bytes lockingScript = Utils.buildPublicKeyHashScript(this.recepient);
        
        bytes output = Utils.buildOutput(lockingScript, raisedAmount);
        require(hash256(output) == SigHash.hashOutputs(txPreimage));

    }

    // contributor can take the fund back after deadline
    public function refund(Sig sig, SigHashPreimage txPreimage) {
        require(Tx.checkPreimage(txPreimage));

        // fundraising expired
        require(SigHash.nLocktime(txPreimage) >= this.deadline);

        require(checkSig(sig, this.contributor));
    }
}

BSV 上的眾籌

如果在截止日期之前籌集了足夠的總資金,則受益人可以通過在第 13 行調(diào)用 pledge() 來收集所有已抵押的資金,如圖 1 所示。否則,每個(gè)貢獻(xiàn)者都可以在圖 2 中的截止日期之后撤回他的資金,方法是在第 28 行調(diào)用 refund()

BSV 上基于智能合約的眾籌

圖 1:活動(dòng)成功

BSV 上基于智能合約的眾籌文章來源地址http://www.zghlxwxcb.cn/news/detail-403274.html

圖 2:活動(dòng)失敗

到了這里,關(guān)于BSV 上基于智能合約的眾籌的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 使用預(yù)授權(quán)簽名加速 BSV 有狀態(tài)合約更新

    使用預(yù)授權(quán)簽名加速 BSV 有狀態(tài)合約更新

    BSV 智能合約將狀態(tài)存儲在交易鏈的輸出中。 當(dāng)交易花費(fèi)包含舊狀態(tài)的輸出并創(chuàng)建包含新狀態(tài)的輸出時(shí),就會發(fā)生狀態(tài)轉(zhuǎn)換。 在任何給定時(shí)間,交易鏈末端的單個(gè)輸出/UTXO 都具有最新狀態(tài)。 當(dāng)多個(gè)事務(wù)競爭同時(shí)更新共享狀態(tài)時(shí),就會出現(xiàn)問題。要了解原因,讓我們考慮一個(gè)簡

    2023年04月08日
    瀏覽(25)
  • BSV 上的點(diǎn)對點(diǎn)結(jié)算衍生品:遠(yuǎn)期合約

    BSV 上的點(diǎn)對點(diǎn)結(jié)算衍生品:遠(yuǎn)期合約

    遠(yuǎn)期合約是兩方在特定未來時(shí)間以預(yù)定價(jià)格買賣資產(chǎn)的衍生工具。它是一種非常常見的對沖波動(dòng)性的工具。因此,使用 USD 遠(yuǎn)期合約可以對沖 USD 兌 BSV 匯率的波動(dòng)。 遠(yuǎn)期合約的收益圖 例如,Alice 與 Bob 簽訂了一份 USD 遠(yuǎn)期合約。Alice 同意從現(xiàn)在起一個(gè)月后以每 BSV 100 USD 的價(jià)格

    2024年01月20日
    瀏覽(40)
  • 基于Remix+MetaMask部署智能合約

    基于Remix+MetaMask部署智能合約

    由于論文遲遲沒有進(jìn)展,基礎(chǔ)知識掌握不牢,今由重新拾起區(qū)塊鏈的應(yīng)用,研究了下節(jié)點(diǎn)連接和智能合約部署的一些操作。 基礎(chǔ)知識: remix是用來部署智能合約的,metamask是可視化的錢包。 準(zhǔn)備環(huán)境: 基于瀏覽器的Remix,網(wǎng)址為:http://remix.ethereum.org/ 。 MetaMask是一個(gè)基于Ch

    2024年02月07日
    瀏覽(27)
  • 基于區(qū)塊鏈智能合約的疫苗溯源系統(tǒng)

    基于區(qū)塊鏈智能合約的疫苗溯源系統(tǒng)

    該系統(tǒng)基于以太坊的Solidity進(jìn)行智能合約開發(fā),并通過hardhat進(jìn)行部署在了本機(jī),通過Mocha和Chai進(jìn)行了單元測試的編寫,同時(shí)提供了一個(gè)基于React的前端界面與用戶進(jìn)行交互。 區(qū)塊鏈的介紹 不難看出,區(qū)塊鏈技術(shù)對現(xiàn)有的經(jīng)濟(jì)社會產(chǎn)生了巨大的影響。在未來,將會出現(xiàn)越來越多

    2024年02月15日
    瀏覽(28)
  • 基于openzeppelin編寫solidity可升級的智能合約

    基于openzeppelin編寫solidity可升級的智能合約

    ????????現(xiàn)代軟件的設(shè)計(jì)原則是“敏捷開發(fā),迅速迭代”,功能升級或bug修復(fù)是所有軟件系統(tǒng)都要面對的問題。甚至可以說軟件質(zhì)量在很大程度上依賴于升級和修補(bǔ)源代碼的能力。當(dāng)然Dapp(去中心化應(yīng)用)也不例外,尤其Dapp一切都是透明的,這使得任何級別的bug都會被成

    2024年01月18日
    瀏覽(26)
  • 基于以太坊的智能合約開發(fā)Solidity(基礎(chǔ)篇)

    基于以太坊的智能合約開發(fā)Solidity(基礎(chǔ)篇)

    參考教程:基于以太坊的智能合約開發(fā)教程【Solidity】_嗶哩嗶哩_bilibili (1)程序編譯完成后,需要在虛擬機(jī)上運(yùn)行,將合約部署好后便可執(zhí)行剛剛編寫的函數(shù)。(注意, 合約一旦部署,就會永久存在于區(qū)塊鏈上,且不可篡改 ,不過可以銷毀) (2)執(zhí)行完成后,可以得到以

    2024年02月04日
    瀏覽(28)
  • 基于以太坊的智能合約開發(fā)Solidity(事件&日志篇)

    基于以太坊的智能合約開發(fā)Solidity(事件&日志篇)

    (1)事件用于記錄在區(qū)塊鏈上的特定活動(dòng),“emit ValueChanged(newValue);”語句的作用是觸發(fā)ValueChanged事件(首先需要聲明事件)。 ①觸發(fā)事件后會生成相應(yīng)日志,上圖黃框就是“emit ValueChanged(newValue);”語句產(chǎn)生的日志,其中“form”指的是觸發(fā)事件的合約賬戶。 ②事件主要是供

    2024年02月04日
    瀏覽(28)
  • ApeWorX: 新的基于 Python 語言的智能合約開發(fā)框架

    Brownie 是 Python 開發(fā)人員經(jīng)常使用智能合約框架。 現(xiàn)在出現(xiàn)了一個(gè) Brownie 的繼任者,可以讓 Python Web3 開發(fā)人員獲得更好的體驗(yàn)。 在本文中,我將討論這個(gè) Brownie 的繼任者 ApeWorX,也稱為“Ape”。 ApeWorX 是一個(gè)基于 Python 的智能合約開發(fā)和部署框架,有很強(qiáng)的可定制性和安全的

    2024年02月05日
    瀏覽(25)
  • 基于以太坊的智能合約開發(fā)Solidity(內(nèi)存&結(jié)構(gòu)體篇)

    參考教程:【內(nèi)存、引用與持久化存儲】1、內(nèi)存與區(qū)塊鏈——storage與memory原理_嗶哩嗶哩_bilibili (1)所有的復(fù)雜類型,即數(shù)組、結(jié)構(gòu)和映射類型,都有一個(gè)額外屬性——“數(shù)據(jù)位置”,用來說明數(shù)據(jù)是保存在內(nèi)存memory中還是存儲storage中,保存在memory中的數(shù)據(jù),在函數(shù)執(zhí)行完

    2024年02月04日
    瀏覽(23)
  • 基于Fisco-Bcos的區(qū)塊鏈智能合約-簡單案例實(shí)踐

    基于Fisco-Bcos的區(qū)塊鏈智能合約-簡單案例實(shí)踐

    智能合約是指把合同/協(xié)議條款以代碼的形式電子化地放到區(qū)塊鏈網(wǎng)絡(luò)上。FISCO BCOS平臺支持兩種智能合約類型:Solidity智能合約與預(yù)編譯智能合約 Solidity與Java類似。代碼寫好后,都需要通過編譯器將代碼轉(zhuǎn)換成二進(jìn)制,在Java中,編譯器是Javac,而對于Solidity,是solc。生成后的

    2024年02月09日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包