Ethereum - Phát triển MyContract
Chúng tôi sẽ đặt tên cho hợp đồng của chúng tôi MyContract như trong khai báo sau:
contract MyContract {
Chúng ta sẽ khai báo hai biến như sau:
uint amount;
uint value;
Biến amountsẽ giữ số tiền tích lũy do những người thực hiện hợp đồng gửi cho người tạo hợp đồng. Cácvaluetrường sẽ giữ giá trị hợp đồng. Khi những người thực thi thực hiện hợp đồng,value trường sẽ được sửa đổi để phản ánh giá trị hợp đồng cân bằng.
Trong hàm tạo hợp đồng, chúng tôi đặt giá trị của hai biến này.
constructor (uint initialAmount, uint initialValue) public {
amount = 0;
value = 1000;
}
Như ban đầu, số tiền thu được trên hợp đồng bằng 0, chúng tôi đặt amount trường thành 0. Chúng tôi đặt hợp đồng value đến một số tùy ý, trong trường hợp này là 1000. Người tạo hợp đồng quyết định giá trị này.
Để kiểm tra số tiền đã thu tại bất kỳ thời điểm nhất định nào, chúng tôi cung cấp một phương pháp hợp đồng công khai được gọi là getAmount được định nghĩa như sau -
function getAmount() public view returns(uint) {
return amount;
}
Để có được giá trị hợp đồng cân bằng tại bất kỳ thời điểm nhất định nào, chúng tôi xác định getBalance phương pháp như sau -
function getBalance() public view returns(uint) {
return value;
}
Cuối cùng, chúng tôi viết một phương thức hợp đồng (Send). Nó cho phép khách hàng gửi một số tiền cho người tạo hợp đồng -
function send(uint newDeposit) public {
value = value - newDeposit;
amount = amount + newDeposit;
}
Việc thực hiện send phương pháp sẽ sửa đổi cả hai value và amount các lĩnh vực của hợp đồng.
Mã hợp đồng đầy đủ được cung cấp bên dưới -
contract MyContract {
uint amount;
uint value;
constructor (uint initialAmount, uint initialValue) public {
amount = 0;
value = 1000;
}
function getBalance() public view returns(uint) {
return value;
}
function getAmount() public view returns(uint) {
return amount;
}
function send(uint newDeposit) public {
value = value - newDeposit;
amount = amount + newDeposit;
}
}