การ 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 (ง่ายกว่าพอสมควรนะแอดว่า)
Gadgeteer by Nanobro
Over 400 subscribers