我們選擇使用Solidity語言,這是以太坊區塊鏈平台上最廣泛使用的合約語言之一。以下是一個簡單的智能合約範例,我們將創建一個簡單的投票合約。
->創建一個名為Voting.sol的Solidity合約文件,並添加以下內容:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract Voting {
address public owner;
mapping(string => uint256) public votes;
event Voted(string option, uint256 count);
modifier onlyOwner() {
require(msg.sender == owner, "Only owner can call this function");
_;
}
constructor() {
owner = msg.sender;
}
function vote(string memory option) public {
require(bytes(option).length > 0, "Option cannot be empty");
votes[option]++;
emit Voted(option, votes[option]);
}
function getVoteCount(string memory option) public view returns (uint256) {
return votes[option];
}
function transferOwnership(address newOwner) public onlyOwner {
owner = newOwner;
}
}
用Solidity編譯器將合約編譯成字節碼。在終端機中執行:
solc --bin --abi --optimize -o ./compiled Voting.sol
(一直編輯....一直跑版)
參考資料:維基百科、區塊鏈創新實用手冊、圖解區塊鏈的工作原理與機制