ขั้นแรก กลับไปที่ IDE ออนไลน์ SmartPy ที่เรามีสัญญาอยู่ คุณจะสังเกตเห็นปุ่ม 'รวบรวม' ที่ด้านบนของหน้า คลิกปุ่มนี้เพื่อรวบรวมสัญญาเป็น Michelson ซึ่งเป็นภาษาระดับต่ำที่บล็อคเชน Tezos เข้าใจ
หลังจากคอมไพล์แล้ว ปุ่ม 'ปรับใช้สัญญา Michelson' จะปรากฏที่ด้านล่างของหน้า คลิกที่นี่เพื่อเริ่มกระบวนการปรับใช้
คุณจะถูกนำไปที่หน้าการปรับใช้งาน ซึ่งคุณสามารถเลือกเครือข่ายที่จะปรับใช้สัญญาได้ สำหรับบทช่วยสอนนี้ ให้เลือก 'Testnet' ขอแนะนำให้ทดสอบสัญญาของคุณบนเทสเน็ตก่อนที่จะปรับใช้บนเมนเน็ตเสมอ
คุณจะต้องมีกระเป๋าเงิน Tezos เพื่อชำระค่าติดตั้งใช้งาน หากคุณไม่มีกระเป๋าเงิน testnet มี faucets ออนไลน์หลายแห่งที่คุณสามารถรับ testnet XTZ เพื่อจุดประสงค์นี้ได้ (เยี่ยมชม ที่นี่)
มีกระเป๋าสตางค์ส่วนขยายของเบราว์เซอร์ไม่กี่ตัวที่รองรับ
เมื่อคุณสร้างกระเป๋าเงิน Tezos แล้ว คุณสามารถขอโทเค็นทดสอบ faucet ได้ ที่นี่ โดยเชื่อมต่อกระเป๋าเงินของคุณผ่านเบราว์เซอร์
เมื่อคุณเลือกเครือข่าย testnet แล้ว ให้ป้อนที่อยู่ Tezos ของ testnet และคีย์ส่วนตัวของคุณ อย่าลืมเก็บคีย์ส่วนตัวของคุณให้ปลอดภัย! คลิกที่ปุ่ม 'ปรับใช้' เพื่อปรับใช้สัญญา
กล่องโต้ตอบจะปรากฏขึ้นพร้อมข้อมูลเกี่ยวกับการดำเนินการ หากทุกอย่างถูกต้อง ให้ยืนยันการดำเนินการ สัญญาจะถูกปรับใช้กับ Tezos testnet กระบวนการนี้อาจใช้เวลาสักครู่
เมื่อปรับใช้สัญญาสำเร็จแล้ว คุณจะได้รับที่อยู่ของสัญญา บันทึกที่อยู่นี้ เนื่องจากคุณจะต้องใช้เพื่อโต้ตอบกับสัญญาของคุณ
เมื่อปรับใช้สัญญาแล้ว คุณสามารถโต้ตอบกับสัญญาได้โดยใช้คุณสมบัติ 'การโต้ตอบตามสัญญา' ใน SmartPy IDE
ไปที่หน้า 'การโต้ตอบในสัญญา' และป้อนที่อยู่ของสัญญาที่ปรับใช้ของคุณ
อินเทอร์เฟซจะแสดงจุดเริ่มต้นของสัญญา ซึ่งคุณสามารถใช้โต้ตอบกับสัญญาได้
หากต้องการเรียกจุดเข้าทำสัญญา ให้คลิกที่ชื่อ กรอกพารามิเตอร์ที่จำเป็น แล้วคลิก 'ดำเนินการ'
ตัวอย่างเช่น หากต้องการสร้างโทเค็นใหม่ ให้เลือกจุดเริ่มต้น 'สร้างเหรียญ' ป้อนที่อยู่ของผู้รับและจำนวนโทเค็นที่ต้องการสร้าง แล้วคลิก 'ดำเนินการ'
หากการดำเนินการสำเร็จ โทเค็นจะถูกสร้างและเพิ่มลงในยอดคงเหลือของผู้รับ คุณสามารถตรวจสอบได้โดยสอบถามยอดคงเหลือของที่อยู่ผู้รับ
โปรดจำไว้ว่าการโต้ตอบกับสัญญาบนบล็อกเชนนั้นเกี่ยวข้องกับการจ่ายค่าธรรมเนียมน้ำมัน ดังนั้น ตรวจสอบให้แน่ใจว่าคุณมียอดเงินคงเหลือในกระเป๋าของคุณเพียงพอ
ในสัญญาตัวอย่างของเรา ชื่อโทเค็นถูกกำหนดเมื่อเราเริ่มต้นสถานการณ์การทดสอบในฟังก์ชัน test()
รวมเป็นส่วนหนึ่งของแผนที่ token_metadata
:
หลาม
token_metadata = {
"decimals": sp.utils.bytes_of_string("18"), # Mandatory by the spec
"name": sp.utils.bytes_of_string("My Great Token"), # Recommended
"symbol": sp.utils.bytes_of_string("MGT"), # Recommended
# Extra fields
"icon": sp.utils.bytes_of_string(
"https://smartpy.io/static/img/logo-only.svg"
),
}
ในที่นี้ “My Great Token” คือชื่อเริ่มต้นของโทเค็น หากต้องการตั้งชื่ออื่นให้กับโทเค็นของคุณ คุณเพียงแค่แทนที่ด้วยชื่อที่คุณต้องการ ตัวอย่างเช่น หากเราต้องการตั้งชื่อโทเค็นของเราว่า "GateLearn" เราจะแก้ไขโค้ดดังนี้:
หลาม
token_metadata = {
"decimals": sp.utils.bytes_of_string("18"), # Mandatory by the spec
"name": sp.utils.bytes_of_string("GateLearn"), # Recommended
"symbol": sp.utils.bytes_of_string("GL"), # Recommended
# Extra fields
"icon": sp.utils.bytes_of_string(
"https://smartpy.io/static/img/logo-only.svg"
),
}
เมื่อทำเช่นนี้ สัญญาของเราจะสร้างโทเค็นชื่อ "GateLearn" ชื่อนี้จะแสดงเป็นสตริงไบต์ในสัญญาและจะแสดงในแอปพลิเคชันที่โต้ตอบกับสัญญาของเราและรองรับมาตรฐาน FA1.2 สิ่งสำคัญคือต้องทราบว่าชื่อของโทเค็น พร้อมด้วยรายละเอียดอื่นๆ ที่รวมอยู่ในแผนผัง token_metadata
จะได้รับการตั้งค่าในการปรับใช้สัญญา เมื่อใช้งานสัญญาแล้ว จะไม่สามารถเปลี่ยนแปลงได้ เว้นแต่คุณได้ใช้ฟังก์ชันในสัญญาของคุณเพื่อให้สามารถปรับเปลี่ยนดังกล่าวได้
ขั้นแรก กลับไปที่ IDE ออนไลน์ SmartPy ที่เรามีสัญญาอยู่ คุณจะสังเกตเห็นปุ่ม 'รวบรวม' ที่ด้านบนของหน้า คลิกปุ่มนี้เพื่อรวบรวมสัญญาเป็น Michelson ซึ่งเป็นภาษาระดับต่ำที่บล็อคเชน Tezos เข้าใจ
หลังจากคอมไพล์แล้ว ปุ่ม 'ปรับใช้สัญญา Michelson' จะปรากฏที่ด้านล่างของหน้า คลิกที่นี่เพื่อเริ่มกระบวนการปรับใช้
คุณจะถูกนำไปที่หน้าการปรับใช้งาน ซึ่งคุณสามารถเลือกเครือข่ายที่จะปรับใช้สัญญาได้ สำหรับบทช่วยสอนนี้ ให้เลือก 'Testnet' ขอแนะนำให้ทดสอบสัญญาของคุณบนเทสเน็ตก่อนที่จะปรับใช้บนเมนเน็ตเสมอ
คุณจะต้องมีกระเป๋าเงิน Tezos เพื่อชำระค่าติดตั้งใช้งาน หากคุณไม่มีกระเป๋าเงิน testnet มี faucets ออนไลน์หลายแห่งที่คุณสามารถรับ testnet XTZ เพื่อจุดประสงค์นี้ได้ (เยี่ยมชม ที่นี่)
มีกระเป๋าสตางค์ส่วนขยายของเบราว์เซอร์ไม่กี่ตัวที่รองรับ
เมื่อคุณสร้างกระเป๋าเงิน Tezos แล้ว คุณสามารถขอโทเค็นทดสอบ faucet ได้ ที่นี่ โดยเชื่อมต่อกระเป๋าเงินของคุณผ่านเบราว์เซอร์
เมื่อคุณเลือกเครือข่าย testnet แล้ว ให้ป้อนที่อยู่ Tezos ของ testnet และคีย์ส่วนตัวของคุณ อย่าลืมเก็บคีย์ส่วนตัวของคุณให้ปลอดภัย! คลิกที่ปุ่ม 'ปรับใช้' เพื่อปรับใช้สัญญา
กล่องโต้ตอบจะปรากฏขึ้นพร้อมข้อมูลเกี่ยวกับการดำเนินการ หากทุกอย่างถูกต้อง ให้ยืนยันการดำเนินการ สัญญาจะถูกปรับใช้กับ Tezos testnet กระบวนการนี้อาจใช้เวลาสักครู่
เมื่อปรับใช้สัญญาสำเร็จแล้ว คุณจะได้รับที่อยู่ของสัญญา บันทึกที่อยู่นี้ เนื่องจากคุณจะต้องใช้เพื่อโต้ตอบกับสัญญาของคุณ
เมื่อปรับใช้สัญญาแล้ว คุณสามารถโต้ตอบกับสัญญาได้โดยใช้คุณสมบัติ 'การโต้ตอบตามสัญญา' ใน SmartPy IDE
ไปที่หน้า 'การโต้ตอบในสัญญา' และป้อนที่อยู่ของสัญญาที่ปรับใช้ของคุณ
อินเทอร์เฟซจะแสดงจุดเริ่มต้นของสัญญา ซึ่งคุณสามารถใช้โต้ตอบกับสัญญาได้
หากต้องการเรียกจุดเข้าทำสัญญา ให้คลิกที่ชื่อ กรอกพารามิเตอร์ที่จำเป็น แล้วคลิก 'ดำเนินการ'
ตัวอย่างเช่น หากต้องการสร้างโทเค็นใหม่ ให้เลือกจุดเริ่มต้น 'สร้างเหรียญ' ป้อนที่อยู่ของผู้รับและจำนวนโทเค็นที่ต้องการสร้าง แล้วคลิก 'ดำเนินการ'
หากการดำเนินการสำเร็จ โทเค็นจะถูกสร้างและเพิ่มลงในยอดคงเหลือของผู้รับ คุณสามารถตรวจสอบได้โดยสอบถามยอดคงเหลือของที่อยู่ผู้รับ
โปรดจำไว้ว่าการโต้ตอบกับสัญญาบนบล็อกเชนนั้นเกี่ยวข้องกับการจ่ายค่าธรรมเนียมน้ำมัน ดังนั้น ตรวจสอบให้แน่ใจว่าคุณมียอดเงินคงเหลือในกระเป๋าของคุณเพียงพอ
ในสัญญาตัวอย่างของเรา ชื่อโทเค็นถูกกำหนดเมื่อเราเริ่มต้นสถานการณ์การทดสอบในฟังก์ชัน test()
รวมเป็นส่วนหนึ่งของแผนที่ token_metadata
:
หลาม
token_metadata = {
"decimals": sp.utils.bytes_of_string("18"), # Mandatory by the spec
"name": sp.utils.bytes_of_string("My Great Token"), # Recommended
"symbol": sp.utils.bytes_of_string("MGT"), # Recommended
# Extra fields
"icon": sp.utils.bytes_of_string(
"https://smartpy.io/static/img/logo-only.svg"
),
}
ในที่นี้ “My Great Token” คือชื่อเริ่มต้นของโทเค็น หากต้องการตั้งชื่ออื่นให้กับโทเค็นของคุณ คุณเพียงแค่แทนที่ด้วยชื่อที่คุณต้องการ ตัวอย่างเช่น หากเราต้องการตั้งชื่อโทเค็นของเราว่า "GateLearn" เราจะแก้ไขโค้ดดังนี้:
หลาม
token_metadata = {
"decimals": sp.utils.bytes_of_string("18"), # Mandatory by the spec
"name": sp.utils.bytes_of_string("GateLearn"), # Recommended
"symbol": sp.utils.bytes_of_string("GL"), # Recommended
# Extra fields
"icon": sp.utils.bytes_of_string(
"https://smartpy.io/static/img/logo-only.svg"
),
}
เมื่อทำเช่นนี้ สัญญาของเราจะสร้างโทเค็นชื่อ "GateLearn" ชื่อนี้จะแสดงเป็นสตริงไบต์ในสัญญาและจะแสดงในแอปพลิเคชันที่โต้ตอบกับสัญญาของเราและรองรับมาตรฐาน FA1.2 สิ่งสำคัญคือต้องทราบว่าชื่อของโทเค็น พร้อมด้วยรายละเอียดอื่นๆ ที่รวมอยู่ในแผนผัง token_metadata
จะได้รับการตั้งค่าในการปรับใช้สัญญา เมื่อใช้งานสัญญาแล้ว จะไม่สามารถเปลี่ยนแปลงได้ เว้นแต่คุณได้ใช้ฟังก์ชันในสัญญาของคุณเพื่อให้สามารถปรับเปลี่ยนดังกล่าวได้