dfinity入门——dfx常用指令与motoko基本语法

dfx常用指令

dfx identity相关:

dfx identity list #identity 列表
dfx identity get-principal #获取当前的PID
dfx ledger account-id #接收转账的account-id
dfx --identity default ledger --network ic balance #当前账户还有多少ICP
fx --identity xxxx ledger --network ic transfer --memo 0 --amount 0.5 $(dfx --identity default ledger account-id) #从一个账户转账到另一个账户
dfx identity new  developer  #创建新的identity
dfx identity use developer #切换identity

wallet 相关:

dfx identity --network ic get-wallet # 获取燃料钱包
dfx ledger --network ic create-canister --amount 0.0 $(dfx identity get-principal) #创建一个canister,创建之后没有钱包
dfx identity --network ic deploy-wallet xxxxx-xxxxx-xxxxx-xxxxx-xxx # 把钱包部署到canister里面
dfx wallet --network ic balance #当前钱包的cycles余额
dfx wallet --network ic send $(dfx --identity developer identity get-wallet) 80000590000 #给developer充值  

deploy 部署相关:

dfx deploy #部署到本地
dfx deploy --network ic --with--cycles 80000590000 xxx #部署到主网
dfx canister --network ic install --all --mode upgrade #升级

转账

#转ICP
dfx ledger --network ic transfer 20694e344693a12c409c6dd3c6ebe1847f17aa68a06f71c69a6f7569d92f0bf1 --memo 1  --amount 0.01
#转燃料
dfx wallet send loglj-saaaa-aaaag-qavla-cai 2000000000

canister 罐相关:

dfx canister --network ic status --all #获取canister状态
dfx canister --network ic stop --all # 停止
dfx canister --network ic start --all # 启动
dfx canister --network ic uninstall-code --all #删除代码
dfx canister --network ic delete --all #删除并回收cycles

motoko 基本语法

1.赋值

let x :Nat = 1; //x的值不可变
var y :Nat = 0;//y的值可变
y := 10; //把10赋给可变的变量y

2.字符串

let text :Text = "hello";//赋值
let str : Text = text # "motoko";//字符拼接

3.声明可以不用加类型,类型推断

let i = 0;
let str = "text";

4.数组

let a : [Nat] = [1, 2, 3] ;//不可变数组
let a = [var 1,2,3,4,5];//数组里面的值是可变的
//let a : [var Nat] = [var 1, 2, 3] ;

5.数组遍历

 let a = [var 1,2,3,4,5];//数组里面的值是可变的
 var i = 0;
 while(i < a.size())
 {
    a[i] := a[i-1] + a[i];// := 改变值后的赋值
    i := i + 1;//i++
 };

6.长久存储(canister升级数据还保留)

stable var counter = 10;

7.函数

  public func setCounter(n:Nat) : async Nat
  {
    var counter = 0;
     counter := n;
     return counter;
  };

motoko特点

1.静态类型,语法与TS/JS接近.
2.在函数大括号后面要加分隔符
3.面向对象,不支持继承
4.支持await/asyn异步通信
5.结构化类型推断
6.安全的数值计算
7.自动内存回收机制(GC)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知来者逆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值