การ deploy contract เป็นการสร้างกิจกรรมบน blockchain ซึ่งปกติมีแต่ dev ที่ทำ user ไม่ค่อยทำ ถ้า เชนไหน reward dev ก็น่าจะส่งผลกับ airdrop ที่มากขึ้น ดังนั้นผมคิดว่าไม่ควรพลาด ควรทำกันทุกคน
✅ ง่ายกว่าที่คิด
✅ ไม่ต้องติดตั้งแอปลงเครื่อง
การเตรียมตัว
เพื่อนๆน่าจะมี argent หรือ braavos wallet อยู่แล้วเนอะ
bridge ETH สำหรับเป็น gas from ETH mainnet https://starkgate.starknet.io/
ได้เวลาลุย
เริ่มจากติดตั้ง Starknet plugin
ไปที่ https://remix.ethereum.org/ มุมซ้ายล่างกด plugin manager (รูปปลั๊ก)
search Starknet > กดactivate
มีขอ permission ให้ไป กด accept ให้เรียบร้อย
plugin ชอบเอ๋อๆ หากทำแล้วติดขั้นตอนไหนให้
1) deactive plugin
2) refresh/restart browser
3) activate ใหม่
ต่อไปเตรียม cairo contract code แอดนาโนเลือกอันนี้อันนี้สั้นและง่ายดี ประหยัด gasด้วย
ก็อบโค้ดด้านล่างได้เลย
#[starknet::contract]
mod feltExample {
use starknet::{ContractAddress, get_caller_address};
#[storage]
struct Storage {
userName: LegacyMap::<ContractAddress, felt252>,
}
#[external(v0)]
#[generate_trait]
impl external of externlalTrait {
fn storeName(ref self: ContractState, name: felt252) -> felt252 {
self.userName.write(get_caller_address(), name);
let welcomeMsg: felt252 = 'Welcome to StarknetByExample';
welcomeMsg
}
fn viewName(self: @ContractState, Add: ContractAddress) -> felt252 {
self.userName.read(Add)
}
}
}
จากนั้นสร้างไฟล์ nano.cairo คลิกๆตามนี้
กดปุ่มมุมซ้ายบน file explorer
cairo_scrab_sample
new file ตรงเบอร์ 3
ตั้งชื่อไฟล์ว่า nano.cairo
วางโค้ดที่ก็อบมา
ต่อไป connect wallet เข้ากับ remix
ดูฝั่งซ้าย ตอนนี้มี starknet เพิ่มมาละ
กด starknet > environment > wallet selection > connect argent/braavos
สุดท้ายแล้ว compile และกด deploy ต่อได้เลย
เพียงเท่านี้เพื่อนๆก็ deploy smart contract เสร็จแล้วครับ ยินดีด้วยยย
*หาก error [user abort] ตอน sign wallet น่าจะเป็นเพราะ starknet plugin มันเอ๋อๆ ให้ลอง deactive/refresh แล้วกดใหม่ครับ
อันล่างสำหรับการ deploy EVM ทั้งมวลด้วย remix (ง่ายกว่าพอสมควรนะแอดว่า)