Chuyển đến nội dung chính

Bài đăng

Hiển thị các bài đăng có nhãn bảo mật solidity

Khoá học Solidity bài 35: Withdraws & Transfer. Thiết lập cách rút tiền và chuyển tiền từ hợp đồng thông minh trong SOLIDITY

Withdraws & Transfer Solidity Khoá học Solidity . Thiết lập cách rút tiền và chuyển tiền từ hợp đồng thông minh trong SOLIDITY Thiết lập cách rút tiền và chuyển tiền từ hợp đồng thông minh trong SOLIDITY Trong bài học trước, chúng ta đã học cách gửi Ether vào một hợp đồng. Vậy điều gì sẽ xảy ra sau khi bạn gửi nó? Sau khi bạn gửi Ether đến một hợp đồng, nó sẽ được lưu trữ trong tài khoản Ethereum của hợp đồng và nó sẽ bị mắc kẹt ở đó - trừ khi bạn thêm một chức năng để rút Ether khỏi hợp đồng. Vì thế khi lập trình hợp đông thông minh mà có chức năng thanh toán, thì đừng quên chức năng để rút tiền ra khỏi hợp đồng nhé, không là mất oan vài nghìn ETH mà không có cách nào lấy lại được đâu :)) Bạn có thể viết một hàm để rút Ether khỏi hợp đồng như sau: contract GetPaid is Ownable { function withdraw ( ) external onlyOwner { address payable _owner = address ( uint160 (owner())); _owner. transfer ( address ( this ). balance ); } } Lưu ý rằng chúng ta đang sử dụng own

Tự học Solidity bài 25: Thực hành tránh phụ thuộc vào nhưng yếu tố bên ngoài hợp đồng

Bài thực hành Tự học Solidity bài 25: Thực hành tránh phụ thuộc vào nhưng yếu tố bên ngoài hợp đồng.  Trong khoá học Solidity miễn phí online tại website TuHocSolidity.com Trong ví dụ dưới đây, chúng ta đang Fix cứng địa chỉ ckAddress trong hợp đồng.  contract ZombieFeeding is ZombieFactory { // 1. Remove this: address ckAddress = 0x06012c8cf97BEaD5deAe237070F9587f8E7A266d ; // 2. Change this to just a declaration: KittyInterface kittyContract = KittyInterface ( ckAddress ); // 3. Add setKittyContractAddress method here      ... } Để tránh phụ thuộc vào địa chỉ này có vấn đề gì, trong hợp đồng của chúng ta thay vì Fix cứng địa chỉ hợp đồng CryptoKitties vào DApp, chúng ta tạo một hàm setKittyContractAddress cho phép chúng ta thay đổi địa chỉ này trong tương lai trong trường hợp có điều gì đó xảy ra với hợp đồng CryptoKitties . Các bước cần làm là: 1. Xóa dòng mã fix cứng ckAddress . 2. Thay đổi dòng mà chúng ta đã tạo kittyContract để chỉ khai báo biến - tức là không