Microsoft Word TTDN 19521779 Dương Hoàng Long SE501 N11 PMCL docx 1 Nguyễn Ngọc Tú Dương Hoàng Long TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO THỰC TẬP PHÁT TRIỂN ỨNG DỤNG DỰA[.]
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO THỰC TẬP
PHÁT TRIỂN ỨNG DỤNG DỰA TRÊN CÔNG NGHỆ
BLOCKCHAIN
Công ty thực tập : Công ty cổ phần TVT Group Người phụ trách : Nguyễn Ngọc Tú
Thực tập sinh : Dương Hoàng Long
Trang 2LỜI MỞ ĐẦU
Công nghệ Blockchain là một cơ chế cơ sở dữ liệu tiên tiến cho phép chia sẻ thông tin minh bạch trong một mạng lưới kinh doanh Cơ sở dữ liệu chuỗi khối lưu trữ dữ liệu trong các khối được liên kết với nhau trong một chuỗi Dữ liệu có sự nhất quán theo trình tự thời gian vì bạn không thể xóa hoặc sửa đổi chuỗi mà không có sự đồng thuận từ mạng lưới Do đó, có thể
sử dụng công nghệ chuỗi khối để tạo một sổ cái không thể chỉnh sửa hay biến đổi để theo dõi các đơn đặt hàng, khoản thanh toán, tài khoản và những giao dịch khác
Hệ thống có những cơ chế tích hợp để ngăn chặn các mục nhập giao dịch trái phép và tạo
ra sự nhất quán trong chế độ xem chung của các giao dịch này
Về môi trường cho lập trình viên, hiện nay blockchain đang được áp dụng vào nhiều lĩnh vực như bất động sản, quảng cáo, logistics, game, finance, quản trị…
Nhận thấy những tiềm năng trên thì em thấy được việc phát triển của con đường lập trình blockchain đang rất mở rộng ở hiện tại và trong nhưng năm tới Do đó em đã quyết định sẽ thực tập ở mảng này và Công ty cô phần TVT Group - một môi trường lý tưởng, hiện đại, chuyên nghiệp, thoải mái, là nơi sẽ giúp em thực hiện được dự định này
Trang 3LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty cổ phần TVT Group đã tạo điều kiện cho em có cơ hội được thực tập tại công ty
Chỉ trong khoảng thời gian thực tập ngắn ngủi 3 tháng nhưng em đã học tập được rất nhiều kiến thức từ các anh và các bạn trong công ty, những kiến thức về kỹ thuật cũng như những kỹ năng mềm Điều này đã giúp em thay đổi và phát triển rất nhiều, chân thành cảm ơn các anh và các bạn trong công ty đã bỏ ra nhiều thời gian, công sức để hướng dẫn em hoàn thành đợt thực tập này
Đặc biệt cảm ơn anh Nguyễn Hải Đăng và anh Võ Tấn Khoa, đã training , hướng dẫn,
giúp đỡ cho em tận tình cả những khó khăn trong công việc, đến những khó khăn việc làm quen với môi trường mới
Cũng xin cảm ơn thầy cô trong khoa Công nghệ phần mềm đã nhiệt tình hỗ trợ, tạo điều kiện em làm bài báo cáo này
Dương Hoàng Long
Tp Hồ Chí Minh, ngày 20 tháng 12 năm 2022
Trang 4NHẬN XÉT CỦA KHOA
Trang 5
MỤC LỤC
Chương 1: Giới thiêu công ty thực tập 6
1 Giới thiệu công ty cổ phần TVT Group 6
2 Sản phẩm của công ty 6
Chương 2: Nội dung thực tập 7
1 Tạo các bộ sưu tập NFT 7
2 Lập trình ứng dụng phát thưởng trên blockchain 7
3 Lịch làm việc 8
Chương 3: Chi tiết về dự án 10
1 Tạo các bộ sưu tập NFT 10
2 Ứng dụng phát thưởng trên blockchain 12
Trang 6Chương 1: Giới thiêu công ty thực tập
1 Giới thiệu công ty cổ phần TVT Group
TVT Group với đội ngũ nhân sự trẻ và nhiệt huyết, chúng tôi đang phát triển sản phẩm phần mềm cho các thị trường châu Âu, Mỹ, Úc, Singapore, Nhật Bản theo 2 hướng cơ bản là out-source và hợp tác cùng phát triển sản phẩm
TVT Group đang từng bước hoàn thiện các giải pháp và nâng cao trình độ kĩ thuật qua từng sản phẩm để ngày càng trở nên hoàn thiện và có thể đáp ứng được nhu cầu cao của thị trường trong và ngoài nước
2 Sản phẩm của công ty
Các lĩnh vực công ty đang đầu tư phát triển mạnh tại giai đoạn này và định hướng trong tương lai đó là:
- Mobile Application (iOS, Android, Flutter)
- Các phần mềm chuyên về trí tuệ nhân tạo (AI), xử lý bigdata và chuyển đổi số
- Blockchain
Trang 7Chương 2: Nội dung thực tập
Đợt thực tập này em được tham gia vào 2 dự án của công ty Dự án đầu sẽ lập trình hợp đồng thông minh để tạo các bộ sưu tập NFT theo yêu cầu của khách hàng của công ty và dự án thứ hai là dự án phát thưởng các tài sản số như NFT và tiền điện tử tự động thông qua back-end
1 Tạo các bộ sưu tập NFT
Thời gian : 35 ngày
Nội dung :
Lập trình các hợp đồng thông minh Tạo các chức năng như đúc NFT, xử lý dữ liệu, giao dịch NFT, kiểm thử lại các chức năng
Công việc này phần lớn là em tìm hiểu các tính chất của hợp đồng thông minh, các tiêu chuẩn của token trong mạng blockchain từ đó vận dụng vào dự án
Về tài liệu thực hiện em được cách anh hỗ trợ tài liệu hướng dẫn để thực hiện như chi tiết màu sắc, phông chữ, kích thước, luồng xử lý, định dạng dữ liệu trong hợp đồng thông minh
Kết quả : Học hỏi thêm về clean code và cách giải quyết vấn đề hiệu quả và lập trình
trên ngôn ngữ Solidity Học được cách phát triển hợp đồng thông minh
2 Lập trình ứng dụng phát thưởng trên blockchain
Thời gian : 45 ngày
Nội dung :
Ở dự án này em đã được biết đến quy trình phát triển phần mềm của công ty, áp dụng quy trình để phát triển phần back-end với các tính năng như kiểm tra các thông tin từ front-end, kiểm tra thông tin tài nguyên của ví chủ và phát thưởng trên mạng Polygon
Ở phần này em đã được trực tiếp tham gia vào làm việc với khách hàng để tìm hiểu các yêu cầu và đưa ra flow cho ứng dụng, việc này khá mất thời gian do yêu cầu thay đổi liên tục không được cố định như dự án ban đầu
Trang 8Kết quả : Được tham gia vào quá trình làm việc thực tế, làm việc với khách hàng, thiết
kế flow của ứng dụng, sửa lỗi theo phản hồi từ khách và nâng cao kỹ năng giải quyết vấn
đề Học tập thêm về lập trình back-end với Nest.JS, front-end với React.JS, tương tác với hợp đồng thông minh bằng Javascript và Typescript
3 Lịch làm việc
Mức
độ hoàn thành
Nhận xét của người hướng dẫn
1
Xây dựng tài liệu cho chức
năng
Tìm hiểu tiêu chuẩn token
của các blockchain dựa vào
EVM
Anh Võ Tấn Khoa
2 Thực hiện phần chức năng
đúc NFT cho smart contract
Chuẩn bị các siêu dữ liệu
(metadata) cho bộ collection
Anh Võ Tấn Khoa
3
Thực hiện phần đính kèm dữ
4
Thực hiện phần xử lý giao
dịch cho NFT
Anh Võ Tấn Khoa
5
Thực hiện chức năng đúc
nhiều NFT sao cho dữ liệu
đính kèm vào NFT vẫn được
đảm bảo
Anh Võ Tấn Khoa
6
Thực hiện kiểm thử các
chức năng của hợp đồng
thông minh
Anh Võ Tấn Khoa
Trang 97 Kiểm tra lại tất cả thông tin và tiến hành deploy hợp đồng
thông minh lên mainnet
Polygon
9, 10
Thực hiện các chức năng gửi
thông tin từ front-end xuống
back-end
Anh Nguyễn Hải Đăng
11
Thực hiện chức năng xử lý
dữ liệu của back-end
Anh Nguyễn Hải Đăng
12
Thực hiện tính năng tương
tác với hợp đồng thông minh
và phát thưởng các loại
token
Anh Nguyễn Hải Đăng
Trang 10Chương 3: Chi tiết về dự án
1 Tạo các bộ sưu tập NFT
Giới thiệu tín năng: hợp đồng thông minh sẽ kế thừa tiêu chuẩn từ token ERC721, từ đó sẽ
có các tính năng đúc token, đính kèm siêu dữ liệu (metadata), giao dịch token Còn về phần siêu dữ liệu sẽ được lưu trữ trên IPFS host với AWS và sẽ có phần backup dữ liệu trên Pinata để ngăn ngừa các trường hợp xấu xảy ra
Trang 11bằng 2 cách:
Cách 1 sẽ là tương tác trực tiếp trên Polygon scan nếu hợp đồng đã được xác nhận
Cách 2 là tương tác với hợp đồng thông minh thông qua web3.JS hoặc ethers.JS bằng ngôn
Trang 122 Ứng dụng phát thưởng trên blockchain
Giới thiệu tín năng: sẽ bao gồm 2 phần front-end và back-end, trong đó front-end sẽ
chịu trách nhiệm thu thập các dự liệu người dùng nhập bao gồm thông tin contract address của token mà người dùng muốn gửi, danh sách địa chỉ muốn gửi, loại token Sau
đó sẽ gửi thông tin xuống back-end, từ đây back-end sẽ kiểm tra các thông tin xem có phù hợp hay không, kiểm tra số dư và sau đó sẽ phát thưởng cho danh sách địa chỉ đã được cung cấp
Giới thiệu front-end: sẽ bao gồm 1 input file để người dùng có thể gửi danh sách các
address dưới dạng file csv, input text để người dùng nhập token contract address, 1 drop-down để người dùng chọn loại token muốn phát thưởng
Giới thiệu back-end: sẽ bao gồm 2 API Get API dùng để kiểm tra số dư token của
người dùng nếu hợp lệ thì mới có thể phát thưởng Post API dùng để thực hiện các giao dịch token, tương tác trực tiếp với hợp đồng thông minh của token từ đó có thể phát thưởng
Trang 13TÀI LIỆU THAM KHẢO
Tài liệu coding
[1] https://solidity-by-example.org/
[2] https://docs.openzeppelin.com/
[3] https://docs.nestjs.com/
Trang 14
TỔNG KẾT
Trong 3 tháng thực tập, em đã hoàn thành được 2 dự án là Tạo bộ sưu tập NFT và Ứng dụng phát thưởng trên blockchain Từ 2 dự án này em đã học được rất nhiều công nghệ mới cũng như các kỹ năng mềm khác như thuyết trình và cách giải quyết các vấn đề Giúp em có kinh nghiệm làm các dự án thực tế và cách làm việc với khách hàng
Chân thành cảm ơn sự giúp đỡ của các anh Nguyễn Hải Đăng và Võ Tấn Khoa, đã hỗ trợ
em rất nhiều trong quá trình thực tập và công ty cổ phần TVT Group đã tin tưởng và tạo điều kiện việc làm cho em trong thời buổi kinh tế khó khăn