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

如何使用Truffle開(kāi)發(fā)太坊智能及其區(qū)塊鏈

這篇具有很好參考價(jià)值的文章主要介紹了如何使用Truffle開(kāi)發(fā)太坊智能及其區(qū)塊鏈。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-633888.html

安裝 Truffle

構(gòu)建一個(gè)Truffle項(xiàng)目

瀏覽一下這個(gè)項(xiàng)目

測(cè)試項(xiàng)目

編譯智能合約

使用 Ganache 部署項(xiàng)目

與智能合約交互

搭建自連網(wǎng)絡(luò)

truflle初始化項(xiàng)目


Stairs upon the temple I climb and I crawl?

Wonder how much further I'll go

Feet that fall apart till I walk on my ankles

Can I finish

I just don't know

?

?簡(jiǎn)介:?truffle是以太坊(ethereum)開(kāi)發(fā)智能合約(smart contract)智能框架,本教程來(lái)安裝構(gòu)建一個(gè)基本的Truffle項(xiàng)目并部署一個(gè)智能合約到區(qū)塊鏈。

?truffle是以太坊(ethereum)開(kāi)發(fā)智能合約(smart contract)智能框架,本教程來(lái)安裝構(gòu)建一個(gè)基本的Truffle項(xiàng)目并部署一個(gè)智能合約到區(qū)塊鏈。

開(kāi)始本文之前希望你已經(jīng)了解區(qū)塊鏈、以太坊、智能合約等基本概念。

安裝 Truffle

安裝 Truffle 框架非常的簡(jiǎn)單,只需要一行命令:

npm install -g truffle

當(dāng)然前提是你已經(jīng)安裝好了NodeJS并且版本要在5.0以上。

Tunffle還要求一個(gè)運(yùn)行的以太坊客戶(hù)端,以便支持標(biāo)準(zhǔn)的JSON RPC API,有很多的選擇比如Ganache、geth。

構(gòu)建一個(gè)Truffle項(xiàng)目

要使用大量的Tunffle命令,我們通過(guò)使用一個(gè)現(xiàn)成的Tunffle項(xiàng)目來(lái)學(xué)習(xí)。第一步是創(chuàng)建一個(gè)Truffle項(xiàng)目。

我們可以創(chuàng)建一個(gè)空的項(xiàng)目模板,不過(guò)剛開(kāi)始構(gòu)建項(xiàng)目,我們可以使用Tunffle Boxs,里面有很多的示例應(yīng)用程序和項(xiàng)目模板。本文使用MetaCoin box,它創(chuàng)建一個(gè)可以在帳戶(hù)之間傳輸代幣的應(yīng)用程序示例。

1.為構(gòu)建Truffle項(xiàng)目創(chuàng)建新目錄:

mkdir MetaCoin
cd MetaCoin

2.下載 MetaCoin box,使用truffle unbox <box-name>來(lái)下載各種示例,如果要建一個(gè)空的不包括智能合約的項(xiàng)目可以使用truffle init

truffle unbox metacoin

上述命令完成后,我們獲得一個(gè)有以下目錄結(jié)構(gòu)的項(xiàng)目:

  • contracts/: Solidity編寫(xiě)的智能合約目錄。
  • migrations/:腳本部署目錄。
  • test/:用來(lái)測(cè)試應(yīng)用程序和智能合約的測(cè)試目錄。
  • truffle.js/:Truffle 配置文件。

瀏覽一下這個(gè)項(xiàng)目

  1. 打開(kāi)contracts/MetaCoin.sol,這是一個(gè)用Solidity編寫(xiě)的智能合約文件,這個(gè)智能合約建了Metacoin代幣,我們可以注意到它引用了同目錄下的另外一個(gè)solidity編寫(xiě)的文件contracts/ConvertLib.sol。

  2. 打開(kāi)contracts/Migrations.sol,這是一個(gè)單獨(dú)的Solidity文件,用來(lái)管理和更新部署的智能合同的狀態(tài)。這個(gè)文件每個(gè)Tunffle項(xiàng)目都有,通常不用管。

  3. 打開(kāi)migrations/1_initial_deployment.js文件,這個(gè)腳本是為了部署Migrations.sol文件中的Migrations合約。

  4. 打開(kāi)migrations/2_deploy_contracts.js文件,這個(gè)腳本是為了部署MetaCoin合約,會(huì)按順序執(zhí)行完上一步的腳本后執(zhí)行。

  5. 打開(kāi)test/TestMetacoin.sol文件,這是一個(gè)Solidity編寫(xiě)的測(cè)試文件,確保你的合約正常工作。

  6. 打開(kāi)test/metacoin.js文件,這個(gè)腳本與上面的測(cè)試文件類(lèi)似。

  7. 打開(kāi)truffle.js文件,用于設(shè)置網(wǎng)絡(luò)信息和其他與項(xiàng)目相關(guān)的內(nèi)容。文件是空白的,沒(méi)關(guān)系,因?yàn)槲覀儗⑹褂靡粋€(gè)內(nèi)置有默認(rèn)值的Truffle命令。

測(cè)試項(xiàng)目

1.打開(kāi)終端,執(zhí)行命令:

truffle test ./test/TestMetacoin.sol

輸出結(jié)果是這樣的:

TestMetacoin
    √ testInitialBalanceUsingDeployedContract (71ms)
    √ testInitialBalanceWithNewMetaCoin (59ms)

  2 passing (794ms)

2.運(yùn)行JavaScript測(cè)試:

truffle test ./test/metacoin.js

輸出結(jié)果是這樣的:

  Contract: MetaCoin
    √ should put 10000 MetaCoin in the first account
    √ should call a function that depends on a linked library (40ms)
    √ should send coin correctly (129ms)

  3 passing (255ms)

編譯智能合約

truffle compile

輸出結(jié)果是這樣的:

Compiling .\contracts\ConvertLib.sol...
Compiling .\contracts\MetaCoin.sol...
Compiling .\contracts\Migrations.sol...

Writing artifacts to .\build\contracts

使用 Ganache 部署項(xiàng)目

當(dāng)使用Tuffle開(kāi)發(fā)一個(gè)多功能的私有鏈和控制臺(tái)時(shí)也可以使用ganache,它作為一個(gè)桌面應(yīng)用程序來(lái)啟動(dòng)私有鏈。對(duì)于以太坊和區(qū)塊鏈新手來(lái)說(shuō)ganache是一個(gè)更容易理解的工具,因?yàn)樗鼤?huì)顯示更多的信息給我們。

除了運(yùn)行Ganache之外,需要額外編輯一下Tunffle配置文件,以指向ganache實(shí)例。

1.下載和安裝?Ganache

2.打開(kāi)?truffle.js?,用下面的內(nèi)容替換:

module.exports = {
  networks: {
    development: {
      host: "127.0.0.1",
      port: 7545,
      network_id: "*"
    }
  }
};

這樣就可以使用Ganache的默認(rèn)參數(shù)進(jìn)行連接了。

3.保存一下這個(gè)文件。

4.啟動(dòng) Ganache

?

5.打開(kāi)終端,用Ganache部署智能合約到區(qū)塊鏈

truffle migrate

輸出結(jié)果是這樣的:

Using network 'development'.

Running migration: 1_initial_migration.js
  Replacing Migrations...
  ... 0x63b393bd50251ec5aa3e159070609ee7c61da55531ff5dea5b869e762263cb90
  Migrations: 0xd6d1ea53b3a7dae2424a0525d6b1754045a0df9f
Saving successful migration to network...
  ... 0xe463b4cb6a3bbba06ab36ac4d7ce04e2a220abd186c8d2bde092c3d5b2217ed6
Saving artifacts...
Running migration: 2_deploy_contracts.js
  Replacing ConvertLib...
  ... 0xa59221bc26a24f1a2ee7838c36abdf3231a2954b96d28dd7def7b98bbb8a7f35
  ConvertLib: 0x33b217190208f7b8d2b14d7a30ec3de7bd722ac6
  Replacing MetaCoin...
  ... 0x5d51f5dc05e5d926323d580559354ad39035f16db268b91b6db5c7baddef5de5
  MetaCoin: 0xcd2c65cc0b498cb7a3835cfb1e283ccd25862086
Saving successful migration to network...
  ... 0xeca6515f3fb47a477df99c3389d3452a48dfe507980bfd29a3c57837d6ef55c5
Saving artifacts...

內(nèi)容顯示的是交易id和你所部署的智能合約地址。

6.在Ganache中,點(diǎn)擊Transactions?按鈕可以看到被處理的交易。

7.要與合約進(jìn)行交互,可以使用Truffle控制臺(tái)。類(lèi)似于Truffle Develop,唯一不同的是它連接到現(xiàn)有區(qū)塊鏈(在這種情況下,由Ganache生成的)

truffle console

你會(huì)看到下面的提示:

truffle(development)>

與智能合約交互

使用控制臺(tái)通過(guò)下面的方式進(jìn)行交互:

  • 查看賬戶(hù)余額
MetaCoin.deployed().then(function(instance){return instance.getBalance(web3.eth.accounts[0]);}).then(function(value){return value.toNumber()});
  • 看看有多少以太合適(并注意合約定義1個(gè)metacoin價(jià)值2以太)
MetaCoin.deployed().then(function(instance){return instance.getBalanceInEth(web3.eth.accounts[0]);}).then(function(value){return value.toNumber()});
  • 從一個(gè)賬號(hào)轉(zhuǎn)賬到另一個(gè)賬號(hào)
MetaCoin.deployed().then(function(instance){return instance.sendCoin(web3.eth.accounts[1], 500);});
  • 檢查是否收到metacoin
MetaCoin.deployed().then(function(instance){return instance.getBalance(web3.eth.accounts[1]);}).then(function(value){return value.toNumber()});
  • 檢查給別人轉(zhuǎn)賬的賬戶(hù)
MetaCoin.deployed().then(function(instance){return instance.getBalance(web3.eth.accounts[0]);}).t
  1. 啟動(dòng)一個(gè)連接到節(jié)點(diǎn)的交互控制臺(tái),您可以參考文檔開(kāi)啟geth交互控制臺(tái)來(lái)建立一個(gè)交互控制臺(tái)

  2. 在交互控制臺(tái)輸入以下指令,創(chuàng)建一個(gè)以太坊賬戶(hù)。如果您已經(jīng)在節(jié)點(diǎn)上創(chuàng)建了以太坊賬戶(hù),您也可以使用已有賬戶(hù)完成后續(xù)操作。

    ?
    1. // create a account that use empty password
    2. var account = personal.newAccount("");
    3. // using an existing account in node
    4. // var account = eth.accounts[0]
    5. // unlock account for 300 seconds with empty password
    6. personal.unlockAccount(account, "", 300);
    7. // set it as default account
    8. web3.eth.defaultAccount = account;
  3. 使用solc或truffle等第三方編譯工具,編譯智能合約,獲取智能合約的ABI和字節(jié)碼(bytecode)。您可以參考編譯智能合約編譯您的智能合約。

  4. 在交互控制臺(tái)輸入以下示例命令,在Quorum網(wǎng)絡(luò)中部署智能合約。在您需要部署自己的智能合約時(shí),您需要將abibytecode替換為您智能合約的編譯結(jié)果。

    ?
    1. // abi for contract
    2. var abi = [{"constant":true,"inputs":[],"name":"storedData","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"x","type":"uint256"}],"name":"set","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"get","outputs":[{"name":"retVal","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[{"name":"initVal","type":"uint256"}],"payable":false,"type":"constructor"}];
    3. // compiled solidity bytecode code using https://github.com/jpmorganchase/quorum-examples/blob/master/examples/7nodes/simplestorage.sol
    4. var bytecode = "0x6060604052341561000f57600080fd5b604051602080610149833981016040528080519060200190919050505b806000819055505b505b610104806100456000396000f30060606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632a1afcd914605157806360fe47b11460775780636d4ce63c146097575b600080fd5b3415605b57600080fd5b606160bd565b6040518082815260200191505060405180910390f35b3415608157600080fd5b6095600480803590602001909190505060c3565b005b341560a157600080fd5b60a760ce565b6040518082815260200191505060405180910390f35b60005481565b806000819055505b50565b6000805490505b905600a165627a7a72305820d5851baab720bba574474de3d09dbeaabc674a15f4dd93b974908476542c23f00029";
    5. var address = ""
    6. var simpleContract = web3.eth.contract(abi);
    7. var simple = simpleContract.new(42, {
    8. from: account,
    9. data: bytecode,
    10. gas: 0x47b760
    11. }, function(e, contract) {
    12. if (e) {
    13. console.log("err creating contract", e);
    14. } else {
    15. if (!contract.address) {
    16. console.log("Contract transaction send: TransactionHash: " + contract.transactionHash + " waiting to be mined...");
    17. } else {
    18. console.log("Contract mined! Address: " + contract.address);
    19. address = contract.address
    20. console.log(contract);
    21. }
    22. }
    23. });
  5. 當(dāng)部署智能合約的交易被共識(shí)節(jié)點(diǎn)打包,您可以在交互控制臺(tái)看到您部署的合約地址,后續(xù)您可以向該地址發(fā)起交易,調(diào)用智能合約。

?

整個(gè)過(guò)程主要演示chrome擴(kuò)展 METAMASK, OpenZepplin庫(kù)和truffle框架的使用。

搭建自連網(wǎng)絡(luò)

主要參考之前的以太坊-私有鏈搭建初步實(shí)踐, 這里只用單節(jié)點(diǎn)的網(wǎng)絡(luò)。

還是先準(zhǔn)備賬戶(hù):

mkdir node0
# 會(huì)在node0/keystore目錄里生成一個(gè)keyfile json文件
geth --datadir node0 account new

#利用puppeth生成genesis.json的過(guò)程不表,參考上邊的鏈接
geth --datadir node0 init genesis.json

# 把剛才的賬號(hào)的密碼寫(xiě)入node0/password文件
# 啟動(dòng)私鏈,順便開(kāi)啟console
echo node0 > node0/password
geth --datadir node0 --port 30000 --nodiscover --unlock '0' --password ./node0/password --mine --rpc --rpccorsdomain "*" --rpcapi "eth,net,web3,admin,personal" console

我們把這個(gè)賬號(hào)的json文件導(dǎo)入到chorme插件metamask里,便于后面調(diào)試和演示

?

ubuntu系統(tǒng)上的chrome插件會(huì)有窗口消失的bug,在URL欄里打開(kāi)chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/popup.html

truflle初始化項(xiàng)目

需要下載truffle命令號(hào)

npm install -g truffle

mkdir token && cd token

# 利用trulle下載token代筆示例
truffle unbox tutorialtoken

npm intall zeppelin-solidity

如上必要的依賴(lài)框架和庫(kù)已經(jīng)下載到了本地, 接下來(lái)就創(chuàng)建自己的代幣合約

在contract目錄創(chuàng)建TutorialToken.sol文件,內(nèi)容如下:

pragma solidity ^0.4.11;


import 'zeppelin-solidity/contracts/token/StandardToken.sol';


/**
 * @title SimpleToken
 * @dev Very simple ERC20 Token example, where all tokens are pre-assigned to the creator. 
 * Note they can later distribute these tokens as they wish using `transfer` and other
 * `StandardToken` functions.
 */
contract TutorialToken is StandardToken {

  string public name = "TutorialToken";
  string public symbol = "SIM";
  uint256 public decimals = 18;
  uint256 public INITIAL_SUPPLY = 10000;

  /**
   * @dev Contructor that gives msg.sender all of existing tokens. 
   */
  function TutorialToken() {
    totalSupply = INITIAL_SUPPLY;
    balances[msg.sender] = INITIAL_SUPPLY;
  }

}

在以太坊里幾乎所有操作都是當(dāng)做交易來(lái)看的,部署合約就是一種交易,交易就要花錢(qián)(gas消耗),所以truffle做的是增量部署(少消耗gas),現(xiàn)在在migrations目錄添加新的部署文件2_deploy_contracts.js

var TutorialToken = artifacts.require("./TutorialToken.sol");

module.exports = function(deployer) {
  deployer.deploy(TutorialToken);
};

一切準(zhǔn)備就緒,編譯,部署開(kāi)始:

?

# 編譯
  truffle compile
Compiling ./contracts/Migrations.sol...
Compiling ./contracts/TutorialToken.sol...
Compiling zeppelin-solidity/contracts/math/SafeMath.sol...
Compiling zeppelin-solidity/contracts/token/BasicToken.sol...
Compiling zeppelin-solidity/contracts/token/ERC20.sol...
Compiling zeppelin-solidity/contracts/token/ERC20Basic.sol...
Compiling zeppelin-solidity/contracts/token/StandardToken.sol...
Writing artifacts to ./build/contracts
# 根據(jù)truffle.js的配置進(jìn)行部署
  truffle migrate
Using network 'development'.

Running migration: 1_initial_migration.js
  Deploying Migrations...
  ... 0x65ccd2d6a4f4248466dd7887da7a2ac35d18c7ab0ec826cb25580bc785a2c3b8
  Migrations: 0xc64569558f90302f4b3884929ac5540c645674dc
Saving successful migration to network...
  ... 0xf9043ca886d352f05a05642047f63eed11d9b328fb815becc68baffc4d953d60
Saving artifacts...
Running migration: 2_deploy_contracts.js
  Deploying TutorialToken...
  ... 0x19350625474c36316046b103e671eaad45834a60c17a5b9c64cf96316754560f
  TutorialToken: 0x7f469dc1ec17c3b7c52a3ad74611cb4b7e6807e1
Saving successful migration to network...
  ... 0xe57ba56dd5f1b18d410577def8bc7089f7de56e8d8718c3098430995d4b81353
Saving artifacts...

順便分享兩個(gè)教程給大家,可以看一眼:

一個(gè)適合區(qū)塊鏈新手的以太坊DApp開(kāi)發(fā):
http://xc.hubwiz.com/course/5a952991adb3847553d205d1

一個(gè)用區(qū)塊鏈、星際文件系統(tǒng)(IPFS)、Nodejs和MongoDB構(gòu)建電商平臺(tái):
http://xc.hubwiz.com/course/5abbb7acc02e6b6a59171dd6

?

?

?

?

?

?

到了這里,關(guān)于如何使用Truffle開(kāi)發(fā)太坊智能及其區(qū)塊鏈的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Web3本地搭建truffle智能合約開(kāi)發(fā)環(huán)境

    Web3本地搭建truffle智能合約開(kāi)發(fā)環(huán)境

    之前的幾篇文章 我們是成功的操作了我們本地區(qū)塊鏈的 那么 本文 我們就來(lái)說(shuō)說(shuō)智能合約 啊 不容易啊 扯了這么久 終于到這了 智能合約是部署在區(qū)塊鏈上 不可逆的 一種去中心化的程序,他沒(méi)有任何第三方公司來(lái)管理這個(gè)程序和數(shù)據(jù) 然后 還有就是怎么連接到區(qū)塊鏈上的智能

    2024年02月12日
    瀏覽(21)
  • 以太坊 – 使用truffle console訪(fǎng)問(wèn)智能合約

    以太坊 – 使用truffle console訪(fǎng)問(wèn)智能合約

    ?? 博主簡(jiǎn)介 : ??????????云計(jì)算領(lǐng)域優(yōu)質(zhì)創(chuàng)作者 ??????????2022年CSDN新星計(jì)劃python賽道第一名 ??????????2022年CSDN原力計(jì)劃優(yōu)質(zhì)作者 ??????????阿里云ACE認(rèn)證高級(jí)工程師 ??????????阿里云開(kāi)發(fā)者社區(qū)專(zhuān)家博主 ?? 交流社區(qū) :CSDN云計(jì)算交流社區(qū)歡迎您的

    2024年02月02日
    瀏覽(22)
  • 使用Truffle for Vscode插件部署本地智能合約

    使用Truffle for Vscode插件部署本地智能合約

    Truffle Truffle簡(jiǎn)介 Truffle是使用以太坊虛擬機(jī)(EVM)的世界級(jí)區(qū)塊鏈開(kāi)發(fā)環(huán)境、測(cè)試框架和資產(chǎn)管道,旨在讓開(kāi)發(fā)人員的開(kāi)發(fā)效率更高。Truffle工具套件(truffle suite)分為四個(gè)部分Truffle、Ganache,dirzzle,Truffle for Vscode。其中Ganache提供了“One click blockchain”功能,只要點(diǎn)擊運(yùn)行g(shù)anache就能

    2024年02月07日
    瀏覽(30)
  • 使用Truffle編譯智能合約及所遇到的問(wèn)題

    使用Truffle編譯智能合約及所遇到的問(wèn)題

    1.下載安裝nvm,首先安裝目錄不要有空格和中文,會(huì)出現(xiàn)亂碼 2、解壓之后安裝,安裝后自動(dòng)配置環(huán)境變量 3、nvm -v 查看版本 4、通過(guò)如下指令進(jìn)行node版本的安裝、替換 我是通過(guò)VS code 打開(kāi)項(xiàng)目,編輯truffle-config.js文件 配置本地以太坊網(wǎng)絡(luò)和遠(yuǎn)程的以太坊測(cè)試網(wǎng)絡(luò)方式有所差異

    2023年04月08日
    瀏覽(23)
  • truffle 進(jìn)行智能合約測(cè)試

    truffle 進(jìn)行智能合約測(cè)試

    以太坊區(qū)塊鏈開(kāi)發(fā) truffle 入門(mén)教程 1_嗶哩嗶哩_bilibili 快速入門(mén) Truffle | Truffle 中文文檔 - DApp 開(kāi)發(fā)框架 | 深入淺出區(qū)塊鏈 (learnblockchain.cn) 下載node.js? 利用npm 下載truffle :? npm install -g truffle 安裝vscode 插件、 ? 下載完成會(huì)多一個(gè)這個(gè)標(biāo)志,然后點(diǎn)進(jìn)去,會(huì)讓檢測(cè)讓你下載幾個(gè)東

    2024年02月16日
    瀏覽(26)
  • Web3 通過(guò)truffle 腳本進(jìn)行智能合約測(cè)試

    Web3 通過(guò)truffle 腳本進(jìn)行智能合約測(cè)試

    上文 Web3 處理智能合約部署到本地區(qū)塊鏈,并在本地進(jìn)行測(cè)試中 我們講解了部署智能合約 然后在終端測(cè)試的方法 但上文那種終端測(cè)試 其實(shí)并不保險(xiǎn) 而且也比較不專(zhuān)業(yè) 對(duì)于這個(gè) 有一個(gè)mocha測(cè)試 這是基于node部署環(huán)境的一種環(huán)境測(cè)試 但是這個(gè)需要一定的基礎(chǔ) 大家可以專(zhuān)門(mén)去學(xué)

    2024年02月13日
    瀏覽(23)
  • 區(qū)塊鏈智能合約開(kāi)發(fā)學(xué)習(xí)

    區(qū)塊鏈智能合約開(kāi)發(fā)學(xué)習(xí)

    最近正在肝區(qū)塊鏈知識(shí)學(xué)習(xí),入手學(xué)習(xí)智能合約的開(kāi)發(fā),由于網(wǎng)上資料實(shí)在是太少了,好不容易東拼西湊完成了智能合約的開(kāi)發(fā)、編譯、部署、web3js調(diào)用(網(wǎng)頁(yè)頁(yè)面)和web3j調(diào)用(java調(diào)用),趕緊趁熱把重點(diǎn)提煉出來(lái)。 先上圖,是我最近學(xué)習(xí)知識(shí)點(diǎn)的一個(gè)概括總結(jié),此外還包

    2023年04月18日
    瀏覽(21)
  • 區(qū)塊鏈java開(kāi)發(fā)智能合約nf(部署第一個(gè)NFT智能合約)

    手把手教你區(qū)塊鏈java開(kāi)發(fā)智能合約nft-第二篇(部署第一個(gè)NFT智能合約) 剛搞區(qū)塊鏈開(kāi)發(fā)真的是太累了,自己摸石頭過(guò)河,動(dòng)不動(dòng)就報(bào)錯(cuò),網(wǎng)上搜索錯(cuò)誤,一律看不出什么問(wèn)題,或者報(bào)錯(cuò)的信息太少,問(wèn)同事同事不鳥(niǎo),問(wèn)領(lǐng)導(dǎo),領(lǐng)導(dǎo)也煩,無(wú)奈,對(duì)于英文不好的我,只能被迫

    2024年02月12日
    瀏覽(30)
  • 區(qū)塊鏈2——Solidity智能合約開(kāi)發(fā)

    區(qū)塊鏈 索引目錄 智能合約是一種以代碼形式編寫(xiě)的自動(dòng)執(zhí)行合約,它們運(yùn)行在區(qū)塊鏈上。這些合約定義了在特定條件下發(fā)生的事件以及相應(yīng)的行為。 1.1 智能合約結(jié)構(gòu) 版本聲明(Version Declaration): 智能合約通常以聲明版本開(kāi)始,指定合約應(yīng)該使用的Solidity編譯器版本。例如

    2024年02月05日
    瀏覽(29)
  • 以太坊區(qū)塊鏈之使用truffle框架完成簡(jiǎn)單投票Dapp開(kāi)發(fā)

    以太坊區(qū)塊鏈之使用truffle框架完成簡(jiǎn)單投票Dapp開(kāi)發(fā)

    編寫(xiě)環(huán)境 remix 話(huà)不多說(shuō),直接上代碼 1、啟動(dòng)ganache 2、在 /contracts 目錄下加入新建一個(gè).sol文件,將之前編寫(xiě)的智能合約代碼加入該文件中,博主新建的是一個(gè) Voting.sol 的文件 !??!該文件目錄一定要與智能合約代碼名字相對(duì)應(yīng) 3、修改truffle-config.js 將development內(nèi)的host、port改

    2024年02月09日
    瀏覽(28)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包