使用 Solidity 创建返回所有者地址和余额的智能合约
问题:创建一个名为 MyContract 的智能合约,拥有一个状态变量作为所有者。创建一个构造函数以从 msg 中获取所有者的地址并将其保存到状态变量 owner 中。另外,创建一个函数getBalance() 来显示所有者的当前余额。
解决方案:每个智能合约都由一个称为所有者的地址拥有。智能合约可以使用 sender 属性了解其所有者的地址,并使用名为 msg 的特殊内置对象了解其可用余额。
第 1 步:打开 Remix-IDE。
第 2 步:从左侧图标中选择文件资源管理器,然后在环境中选择Solidity 。单击 Solidity 环境下方的新建选项。输入文件名MyContract.sol并单击OK按钮。
第 3 步:输入以下 Solidity 代码。
Solidity
// Solidity program to
// retrieve address and
// balance of owner
pragma solidity ^0.6.8;
// Creating a contract
contract MyContract
{
// Private state variable
address private owner;
// Defining a constructor
constructor() public{
owner=msg.sender;
}
// Function to get
// address of owner
function getOwner(
) public view returns (address) {
return owner;
}
// Function to return
// current balance of owner
function getBalance(
) public view returns(uint256){
return owner.balance;
}
}
第 4 步:从 Solidity编译器选项卡中编译文件MyContract.sol 。
第 5 步:从Deploy and Run Transaction选项卡部署智能合约,您将获得所有者的余额和地址。
第 6 步:下面的输出显示了所有者的地址和余额。