• Vue是一个js框架
    • 第三方库
    • 可响应的
    • web前端,针对浏览器
  • 应用方式
    • 应用在浏览器中的部分(某个组件)
    • 应用在浏览器中的全部(单页)
  • 类似框架
    • react 只关注与渲染,忽视了路由
    • angular 功能比Vue多,但强制性要求TS
  • 布尔型
    • bool
  • 字符
    • char
      • 大小始终为4个字符
  • 整数
    • u8,16,32,64.128
      • 无符号整型——无正负
    • i…….
      • 有符号整型——有。
  • 浮点数
    • f32
    • f64

***git是跟踪文件的变化,而不是一遍又一遍的存储文件

  • commit
    • 第一个commit为原文件
    • 从第二个开始开始跟踪原文件的变化
  • branch
    • 相当于存储文件更改的文件夹
    • 分支相当于一个独立工作的主分支副本(子文件夹)
    • 合并(merge)
      • 将分支的内容加入到主分支
  • 当我们进入工作文件夹时,会自动创建一个.git的隐藏文件夹
    • 两个部分
      • 暂存区
      • 提交(commit)
    • 我们先把需要更改的文件提交到暂存区,最后在全部更改完成后在提交到提交区
  • dir 列举当前文件夹文件
  • cd 更改到目标目录
  • D: 更改驱动盘
    • C: 等等
  • tab 自动补充内容
  • mkdir 创建文件夹
  • echo (内容) > (文件) 写入内容(也可用于创建文件)
  • type 查看内容
  • del 删除文件
  • rmdir 删除文件夹
  • copy (文件) (文件夹) 将文件复制到文件夹
  • move (文件/夹)(文件夹)将文件(文件夹)移动到文件夹
  • cls 清空命令行
  • number
    • 不分整数小数
  • string(字符串)
    • 单双引号都可
  • boolean
    • true or false
  • undefined
    • 未被定义的
  • null
    • 空值
  • symbol(现在没用)
    • 无法改变
  • bigint
    • 大整数
      ==动态语言:一个变量可以开始为number后来把值改为string==
      boolean中的false:
  • 0
  • ‘ ’
  • undefined
  • NaN
  • null
  • Map
    • 循环原始数组,进行操作,并返回一个新数组
  • Filter
    • 过滤元素,将过滤的元素合并成一个新数组
  • Reduce
    • 把原始数组加工成一个值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
module coin::dog;



use std::option::{Option, none, some};

use sui::coin::create_currency;

use sui::transfer;

use sui::url::{Self, Url};



public struct DOG has drop {}



fun init(dog: DOG, ctx: &mut TxContext) {

    let no: Option<Url> = none<Url>();

    let url = url::new_unsafe_from_bytes(b"");

    let yes: Option<Url> = some<Url>(url);

    let (treasury, coinmeta) = create_currency(dog, 8, b"dog", b"dog", b"a happy dog", no, ctx);

    transfer::public_freeze_object(coinmeta);

    transfer::public_transfer(treasury, ctx.sender())

}

UTXO(未被花掉的输出)-SUI链

  • 账户模本模型
    • 账户余额由不同的Coin组成
      • exp:100sui可能有60个Coin做加法得到。。
      • 10也可能有100个Coin

Sui的数据存储模型

  • 对象在Sui上维护了一个全局的Map结构
    • Map<ID,object>

Object定义

  • 必须有key能力
  • 第一个字段必须是id
    • 且类型为sui::object::UID

资产

  • Object
  • 银行余额,房产等与现实中的资产被程序的方式定义

资产所有权

  • 所有权和实际使用权不一样
  • 独有资产
    • 对象有字段标记所有权
    • 对象被某个地址拥有
  • 共有资产
    • 对象被全局共享
1
2
3
4
5
6
7
8
9
 //独享
transfer(object,ctx.sender())
public_transfer()
//共享 常量-不能再改变
freeze_object()
public_freeze_object()
//共享
share_object()
publich_share_object()

所有权

  • T
    • 转移,删除,写入,可读
  • &mut T
    • 读写
  • &mut

#[test]下面写
用sui move test运行
不会上链

abort:错误码