<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • 部署智能合約到conflux公鏈

          2021-9-26    前端達(dá)人

          一、準(zhǔn)備合約

          本節(jié)課程教大家如何講智能合約部署到conflux公鏈上,首先大家可以看到下面的這個(gè)智能合約是不是很簡單。我們將會(huì)以這個(gè)合約演示部署到conflux公鏈的過程。

          pragma solidity ^0.5.0;
          
          contract Counter {
              uint public count=0;
              event SelfEvent(address indexed sender, uint current);
          
              constructor() public {
              } function inc(uint num) public returns (uint){ return count += num;
              } function self() public {
                  emit SelfEvent(msg.sender, count);
              }
          } 復(fù)制代碼

          二、conflux的sdk安裝

          我們使用js-conflux-sdk作為本教程的web教程,交互首先我們需要進(jìn)行安裝nodejs作為我們的運(yùn)行環(huán)境。飛機(jī)票一張收下吧,我們安裝好nodejs后,就可以來玩我們的sdk了。廢話不多說,直接開始擼。

          我們使用WIN + R鍵打開命令行,然后創(chuàng)建一個(gè)文件夾(溫馨提示切換到非系統(tǒng)盤玩切換方式“D:”就切換到D盤了)使用“mkdir my-project && cd my-project” 創(chuàng)建好項(xiàng)目后自動(dòng)進(jìn)入文件夾,然后我們運(yùn)行“npm init” 進(jìn)行初始化node項(xiàng)目,這一步會(huì)讓你確認(rèn)一些東西,如果你是小白一路回車(Enter鍵)就好。如果你是前端大神,我也沒啥好教的我也不太懂。為了穩(wěn)定我們使用固定版本號方式安裝依賴,我們運(yùn)行 “npm install js-conflux-sdk@0.9.2” 命令進(jìn)行安裝js-conflux-sdk的0.9.2版本依賴(可以使用“npm uninstall package-name” 命令刪除對應(yīng)依賴)。前置準(zhǔn)備到這里基本已經(jīng)完成。

          三、編寫調(diào)用合約js代碼

          下面請看我的目錄結(jié)構(gòu)跟隨我一起來學(xué)習(xí),下面的目錄結(jié)構(gòu)請不要直接看到了就創(chuàng)建,因?yàn)槟悴恢蓝际鞘裁匆馑?,看玩我的解釋在回頭創(chuàng)建。

           

          image

           

          小伙伴應(yīng)該已經(jīng)發(fā)現(xiàn)了 node_modules、package-lock.json、package.json 這些文件是我們在進(jìn)行安裝 sdk依賴時(shí)自動(dòng)生成的。其他文件目前都沒有,我們來按順序生成他們。

          先創(chuàng)建sol這個(gè)文件夾,然后創(chuàng)建這三個(gè)文件。test.sol就是上面我們的合約代碼直接拷入文件中。abi.json和code.json兩個(gè)文件是通過這個(gè)工具 remix 在線生成的。我來說下生成過程。 首先我們將里面的文件全部刪除,然后點(diǎn)擊這里找到我們的項(xiàng)目目錄下的test.sol 文件

           

           

           

           

          我們應(yīng)該看到下方我框出來的兩個(gè)按鈕了吧,那兩個(gè)按鈕就是abi.json和code.json文件的來源。abi.json我們可以直接復(fù)制過去,code.json文件我們要改點(diǎn)東西。

          首先我們看到的code文件應(yīng)該是這樣的

          { "linkReferences": {}, "object": "608060405260...c63430005110032", "opcodes": "PUSH1 0x80 PUSH1 ... 1100 ORIGIN ", "sourceMap": "27:337:0 ... 37;;;;;;" } 復(fù)制代碼

          代碼有省略,太長不好看,我們看到object這個(gè)key值了吧,我們把它的值考出來然后在頭部加0x 就好了放在code.json文件中。code.js文件中只存放object的內(nèi)容前面加0x,也就是下面的代碼,其他信息都不要,千萬記住了。這點(diǎn)很重要?。。?!

          "0x608060405260...c63430005110032" 復(fù)制代碼

          就是這樣的。然后我們在寫另外兩個(gè)call和deploy兩個(gè)文件

          先寫deploy文件

           // 私鑰地址
          const PRIVATE_KEY = '0x20f9169d40801955faada641cdb029f8e42c581c0c991a62753c736a0a168e5e';
          // 合約地址
          const CONTRACT = '';
          const { Conflux } = require('js-conflux-sdk');
          
          async function main() {
            const cfx = new Conflux({
              url: 'http://mainnet-jsonrpc.conflux-chain.org:12537',
              defaultGasPrice: 100,
              defaultGas: 1000000,
            });
            const account = cfx.Account(PRIVATE_KEY); // create account instance
            console.log(account.address); 
          
            // create contract instance
            const contract = cfx.Contract({
              abi: require('./sol/RC20.abi.json'),
              bytecode: require('./sol/RC20.code.json'),
            });
          
            const receipt = await contract.constructor()
              .sendTransaction({ from: account })
              .confirmed();
            console.log(receipt.contractCreated); 
          }
          main().catch(e => console.error(e)); 復(fù)制代碼

          打開項(xiàng)目cmd窗口在上面的目錄下 運(yùn)行命令 “node deploy.js”就將合約部署上去了

          receipt.contractCreated 這個(gè)會(huì)打印出合約地址。






          作者:悠悠_15832013094

          鏈接:https://juejin.im/post/5ef563f75188252e99702335

          來源:掘金

          藍(lán)藍(lán)設(shè)計(jì)建立了UI設(shè)計(jì)分享群,每天會(huì)分享國內(nèi)外的一些優(yōu)秀設(shè)計(jì),如果有興趣的話,可以進(jìn)入一起成長學(xué)習(xí),請掃碼藍(lán)小助,報(bào)下信息,藍(lán)小助會(huì)請您入群。歡迎您加入噢~~希望得到建議咨詢、商務(wù)合作,也請與我們聯(lián)系。

          分享此文一切功德,皆悉回向給文章原作者及眾讀者.

          轉(zhuǎn)自:csdn
          免責(zé)聲明:藍(lán)藍(lán)設(shè)計(jì)尊重原作者,文章的版權(quán)歸原作者。如涉及版權(quán)問題,請及時(shí)與我們?nèi)〉寐?lián)系,我們立即更正或刪除。

          藍(lán)藍(lán)設(shè)計(jì)www.sdgs6788.com )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 、平面設(shè)計(jì)服務(wù)

          日歷

          鏈接

          個(gè)人資料

          存檔

          久久久久噜噜噜亚洲熟女综合| 久久91精品综合国产首页| 亚洲va久久久噜噜噜久久| 性做久久久久久久| 国产精品gz久久久| 久久久久久精品久久久久| aaa级精品久久久国产片| 久久综合色之久久综合| 久久精品国产亚洲77777| 久久精品亚洲乱码伦伦中文| 2021国内久久精品| 99久久婷婷国产综合精品草原| 亚洲国产成人乱码精品女人久久久不卡| 中文字幕日本人妻久久久免费| 久久久青草青青亚洲国产免观| 国产成人综合久久精品红| 国产巨作麻豆欧美亚洲综合久久| 久久久精品2019免费观看| 一个色综合久久| 久久亚洲国产成人影院网站| 久久综合综合久久狠狠狠97色88| 欧美黑人又粗又大久久久| 亚洲国产成人精品女人久久久 | 久久99国产精品久久99果冻传媒| 日韩欧美亚洲国产精品字幕久久久| 国产精品99久久精品| 日韩精品无码久久久久久| 亚洲七七久久精品中文国产| 久久久91人妻无码精品蜜桃HD| 99久久人人爽亚洲精品美女| 国产精品久久一区二区三区| 久久久久亚洲AV无码麻豆| 久久久久久伊人高潮影院| 久久综合偷偷噜噜噜色| 欧美一区二区久久精品| 最新久久免费视频| 久久婷婷五月综合国产尤物app| 久久综合鬼色88久久精品综合自在自线噜噜| 久久99精品久久久久久齐齐| 久久久久久一区国产精品| 亚洲国产高清精品线久久 |