Tự viết và deploy smart contract lên Testnet - Phần 2
Blockchain
34
Ethereum
15
smart contract
6
White

Derek Nguyen viết ngày 09/08/2018

Xin chào các bạn! Mình đã quay trở lại đây :smile: Ở phần 1 thì các bạn đã biết thế nào để tạo một Smart Contract (SC) đơn giản và deploy lên local ocal blockchain. Các bạn có thể xem lại Tự viết và deploy smart contract lên Testnet - Phần 1.

Ở phần này, mình sẽ chia sẻ với các bạn làm thế nào để deploy SC này lên các Testnet như: Rinkeby, Ropsten, Kovan. Ở đây mình sẽ dùng Ropsten các testnet còn lại cũng tương tự.

Đầu tiên chúng ta cần phải tạo 1 địa chỉ ETH trên testnet Ropsten. Mình sẽ dùng Metamask với Google Chrome để tạo nó:
alt text

Tạo và Ghi nhớ mật khẩu.

alt text

Lưu seed words vì ta sẽ cần dùng lại chúng.

Sau khi tạo 1 địa chỉ ETH ở testnet, tuy nhiên cần có ETH để thực hiện deploy SC. Truy cập vào http://faucet.ropsten.be:3001 để nhận 1 ETH (1 lần /ngày). Ta có thể kiểm tra balance của địa chỉ ETH đó tại https://ropsten.etherscan.io.

Ở đây mình deploy thông qua một api đó là Infura. API này support gần như mọi thứ và deploy SC cũng rất dễ dàng nhanh chóng và hoàn toàn miễn phí. Infura hỗ trợ deploy lên các : Mainnet, Ropsten, INFURAnet, Kovan, Rinkeby và IPFS. Chúng ta sẽ tạo 1 tài khoản ở Infura, sau khi đăng kí xong bạn sẽ nhận được thông tin API key trong email.

Tiếp theo là cài đặt cấu hình ở file truffle.js cho testnet Ropsten thông qua API Infura. Để sử dụng chúng ta cần cài thêm truffle-hdwallet-provider. Dưới đây là file truffle.js hoàn chỉnh:

var HDWalletProvider = require("truffle-hdwallet-provider")
var mnemonic = "Seed_words_cac_ban_da_luu_lai";

module.exports = {
  networks: {
    development: {
      host: 'localhost',
      port: 7545,
      network_id: '*' // Match any network id
    },
    ropsten: {
      provider: function() {
        return new HDWalletProvider(mnemonic, "https://ropsten.infura.io/Infura_key_nhan_trong_email")
      },
      network_id: 3,
      gas: 3000000,
      gasPrice: 21
    }
  }
}

Chúng ta sẽ chạy lệnh deploy lần đầu:

truffle migrate --network ropsten

Ở những lần sau, khi bạn chỉnh sửa SC và muốn deploy lại:

truffle deploy --reset --network ropsten

Deploy thành công ta có kết quả như hình:
alt text

 Kiểm tra trên https://ropsten.etherscan.io/. Ở đây mình có: https://ropsten.etherscan.io/address/0xb8db187c5bd4c24485fb23db64f88ba1a7185e4d

alt text

Click vào 1 Contract Creation và click tiếp Verify And Publish để Verify cho SC đó :smile:
alt text

Ta sẽ có giao diện như hình:

alt text

Nhập Contract Name, chọn version solidity của compiler, và Optimization là No. Sau đó nhập toàn bộ code của contract của chúng ta vào Enter the Solidity Contract Code below. Cuối cùng click vào Verify and Push. Thành côn ta sẽ có như hình:

alt text

và contract address sẽ có dấu tích xanh :smile:

alt text

Đó là tất cả. Giờ thì các bạn có thể tự tạo và deploy những Smart Contract cho riêng mình một cách nhanh chóng và dễ dàng hơn bao giờ hết. Cảm ơn bạn đã đọc đến đây!

À quên đây là Simple SC của mình.

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Derek Nguyen

11 bài viết.
24 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
35 6
Nếu bạn muốn xây dựng một website mà chỉ bao gồm HTML, CSS và Javascript. Bạn có thể xây dựng 1 static web hoàn toàn miễn phí phục vụ cho việc học ...
Derek Nguyen viết hơn 2 năm trước
35 6
White
9 0
Nội dung của bài viết này có thể đã có rất nhiều người đã biết, nhưng mình cũng xin được chia sẽ lại cho những ai chưa biết. Hoàn Cảnh Data cons...
Derek Nguyen viết gần 3 năm trước
9 0
White
8 7
Kiểm tra url có tồn tại hay không ? Ngôn ngữ Ruby ruby require 'net/http' require 'openuri' def working_url?(url_str) url = URI.parse(ur...
Derek Nguyen viết hơn 2 năm trước
8 7
Bài viết liên quan
White
11 5
Tạm xóa
Giaosucan viết hơn 1 năm trước
11 5
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
11 bài viết.
24 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!