Import Solidity
Ngôn ngữ lập trình Solidity. Tự học Solidity miễn phí. Trong khoá học online miễn phí Tự học lập trình web3 - Tự học ngôn ngữ lập trình Solidity
Summary for English Visiter
pragma solidity >=0.5.0 <0.6.0;
import "./zombiefactory.sol"; contract ZombieFeeding is ZombieFactory { }
Thank you!
Bạn hay xem 2 file Solidity dưới đây
1 File: zombilefactory.sol
pragma solidity >=0.5.0 <0.6.0;
contract ZombieFactory {
event NewZombie(uint zombieId, string name, uint dna);
uint dnaDigits = 16;
uint dnaModulus = 10 ** dnaDigits;
struct Zombie {
string name;
uint dna;
}
Zombie[] public zombies;
mapping (uint => address) public zombieToOwner;
mapping (address => uint) ownerZombieCount;
function _createZombie(string memory _name, uint _dna) private {
uint id = zombies.push(Zombie(_name, _dna)) - 1;
zombieToOwner[id] = msg.sender;
ownerZombieCount[msg.sender]++;
emit NewZombie(id, _name, _dna);
}
function _generateRandomDna(string memory _str) private view returns (uint) {
uint rand = uint(keccak256(abi.encodePacked(_str)));
return rand % dnaModulus;
}
function createRandomZombie(string memory _name) public {
require(ownerZombieCount[msg.sender] == 0);
uint randDna = _generateRandomDna(_name);
_createZombie(_name, randDna);
}
}
2 File: zombiefeeeding.sol
pragma solidity >=0.5.0 <0.6.0;
// put import statement here
import "./zombiefactory.sol";
contract ZombieFeeding is ZombieFactory {
}
Giải thích:
Trong bài học trước bạn đã học về thừa kế, nhưng file sol cua chúng ta rất dài. Vậy đê tổ chức cho khoa học chúng ta sẽ tách Contract ZombieFactory ra một file .sol riêng tên là zombilefactory.sol
Sau đó ta import vào một file mới tên là zombiefeeeding.sol
Mã của chúng ta khá dài, vì vậy chúng tôi chia nó thành nhiều tệp để dễ quản lý hơn. Đây thường là cách bạn sẽ xử lý các cơ sở mã dài trong các dự án Solidity của mình.
Khi bạn có nhiều tệp và bạn muốn nhập tệp này vào tệp khác, Solidity sử dụng từ khóa nhập:
import "./someothercontract.sol";
import "./someothercontract.sol";
contract newContract is SomeOtherContract {
}
Vì vậy, nếu chúng ta có một tệp có tên someothercontract.sol trong cùng thư mục với hợp đồng này nó sẽ được nhập bởi trình biên dịch.
Thực hành luôn cho nhớ lâu bạn nhé
Nếu bạn chưa biết cách TẠO FILE, COMPILER và DEPLOY thì hãy xem lại trong bài giới thiệu nhé. Có hướng dẫn chi tiết ở đó.
BÀI TIẾP THEO: BÀI SỐ 19
HỌC TỪ ĐẦU: BÀI SỐ 1