主頁 > 區塊鏈 > Mysql用戶與權限操作

Mysql用戶與權限操作

2020-09-29 09:26:46 區塊鏈

1.用戶與權限概述

用戶是資料庫的使用者和管理者,
MySQL通過用戶的設定來控制資料庫操作人員的訪問與操作范圍
服務器中名為mysqI的資料庫,用于維護資料庫的用戶以及權限的控制和管理,
MySQL中的所有用戶資訊都保存在mysql.user資料表中,

根據mysql.user表欄位的功能可將其分為6類

  • 客戶端訪問服務器的賬號欄位

Host和User欄位共同組成的復合主鍵用于區分MySQL中的賬戶,

  1. User欄位用于代表用戶的名稱
  2. Host欄位表示允許訪問的客戶端IP地址或主機地址
  3. 當Host的值為“*”時,表示所有客戶端的用戶都可以訪問,
mysql> SELEC Thost, user FROM mysql.user;

在這里插入圖片描述

root:默認的超級用戶,
session: MySQL5.7新增用戶,用于用戶身份驗證,
sys:MySQL5.7新增用戶,用于系統模式物件的定義,防止DBA(資料庫管理員)重命名或洗掉root用戶時發生錯誤,

  • 身份驗證欄位

在MySQL5.7中,mysql.user表中已不再包含Password欄位,而是使用plugin和authentication_string欄位保存用戶身份驗證的資訊,

  1. plugin欄位用于指定用戶的驗證插件名稱
  2. authentication_string欄位是根據plugin指定的插件演算法對賬戶明文密碼(如123456)加密后的字串
mysql> SELECT plugin,authentication_string FROM mysql.user
->WHERE user='root';

在這里插入圖片描述

MySQL中root用戶的默認驗證插件名為mysql_native_password,
authentication_string欄位保存的則是一串不能看出具體含義的值,相對于能夠直接看懂的明文密碼(如123456),它是經過加密處理的暗碼,
其他與身份驗證的賬號密碼相關的欄位還有password_expired(密碼是否過期)、password_last_changed(密碼最后一次修改的時間)以及password_lifetime(密碼的有效期),

  • 安全連接的欄位

判斷當前連接是否符合SSL安全協議,

  1. ssl_type:用于保存安全連接的型別,它的可選值有"(空)、ANY(任意型別)、X509(X509證書)、SPECIFIED(規定的)四種,
  2. ssl_cipher:用于保存安全加密連接的特定密碼
  3. x509_issuer:保存由CA簽發的有效的X509證書
  4. x509_subject:保存包含主題的有效X509證書
mysql>SHOW VARIABLES LIKE 'have_openssl';

在這里插入圖片描述

  • 資源限制的欄位
  1. 以“max_”開頭的欄位,保存對用戶可使用的服務器資源的限制,
  2. 用來防止用戶登錄MySQL服務器后的不法或不合規范的操作浪費服務器的資源,
  3. 用戶資源限制欄位默認值均為0,表示對此用戶沒有任何的資源限制,
欄位含義
max_ _questions保存每小時允許用戶執行查詢操作的最多次數
max_ updates保存每小時允許用戶執行更新操作的最多次數
max_ connections保存每小時允許用戶建立連接的最多次數
max_ user_ connections保存允許單個用戶同時建立連接的最多數量
  • 權限欄位

以“priv”結尾的欄位一共有29個,這些欄位保存了用戶的全域權限,如Select_ priv 查詢權限、Insert_ priv插入權限,Update_ priv更 新權限等,
user表對應的權限欄位的資料型別都是ENUM列舉型別,取值只有N或Y兩種

  1. N表示該用戶沒有對應權限,默認值都為N,
  2. Y表示該用戶有對應權限,
  • 賬戶是否鎖定的欄位

account_ locked字 段用于保存當前用戶是鎖定、還是解鎖狀態,

  1. 該欄位是一個列舉型別,當其值為N時表示解鎖,此用戶可以用于連接服務器,
  2. 當其值為Y時表示該用戶已被鎖定,不能用于連接服務器使用,

2.用戶管理

1.創建用戶

  • 由于MySQL中所有用戶的資訊都保存在mysql.user表中,創建用戶可以直接利用root用戶登錄MySQL服務器后,向mysql.user表中插入記錄,但是在開發中為保證資料的安全,并丕推茬使用此方式創建用戶,
  • 采用MySQL提供的CREATE USER陳述句創建用戶,
  • 使用CREATE USER陳述句每創建一個 新用戶,都會在mysql.user表中添加一條記錄,同時服務器會自動修改相應的授權表
  • 該陳述句創建的新用戶默認情況下沒有任何權限,需要使用GRANT進行授權,

創建用戶語法

CREATE USER [IF NOT EXISTS]
賬戶名[用戶身份驗證選項][,賬戶名[用戶身份驗證選項].
[WITH資源控制選項][密碼管理選項|賬戶鎖定選項]

CREATE USER可以一次創建多個用戶,多個用戶之間使用逗號分隔,
賬戶名是由“用戶名@主機地址”組成,
其余選項在創建用戶時,若未設定則使用默認值
用戶名的設定不能超過32個字符,且區分大小寫,但是主機地址不區分大小寫,

選項默認值
用戶身份驗證選項由default_ authentication _plugin 系統變數定義的插件進行身份驗證
加密連接協議選項NONE
資源控制選項N (表示無限制)
密碼管理選項PASSWORD EXPIRE DEFAULT
用戶鎖定選項ACCOUNT UNLOCK
  • 用戶身份驗證選項的設定僅適用于其前面的用戶名,可將其理解為某個用戶的私有屬性,
  • 其余的選項對宣告中的所有用戶都有效,可以將其理解為全域屬性,
1.創建最簡單的用戶
mysql> CREATE USER' test1' ;
Query OK, 0 rows af fected .(0.00 sec)
mysql> SELECT host, user FROM mysql . user;

在這里插入圖片描述

2.創建含有密碼的用戶
mysql> CREATE USER 'test2' @ 'localhost' IDENTIFIED BY ' 123456' ;
Query OK,0 rows affected (0.00 sec)

在這里插入圖片描述

3.同時創建多個用戶
mysql> CREATE USER
-> 'test3'@' localhost' IDENTIFIED BY '333333' ,
-> 'test4'@' localhost' IDENTIFIED BY '444444' ;
Query OK,0 rows affected (0.01 sec)

多個用戶之間使用逗號分隔,
在創建每個用戶時可以單獨為其設定密碼,省略用戶身份驗證選項時,表明此用戶在登錄服務器時可以免密登錄,但為了保證資料安全,不推薦用戶這樣做,

在創建用戶時,可以添加WITH直接為用戶指定可操作的資源范圍,如登錄的用戶在一小時內可以查詢資料的次數等,

選項描述
MAX_ QUERIES PER_ HOUR在任何一個小時內,允許此用戶執行多少次查詢
MAX_ UPDATES_ PER_ HOUR在任何一個小時內,允許此用戶執行多少次更新
MAX_ CONNECTIONS_ PER_ HOUR在任何一個小時內,允許此用戶執行多少次服務器連接
MAX_ USER_ CONNECTIONS限制用戶同時連接服務器的最大數量

MAX_USER_CONNECTIONS選 項的值為0時,服務器將根據max_ user_ connections 系統變數的值確定用戶的同時連接數,若此變數值也為0,表示對該用戶沒有限制,
MAX_QUERIES_PER_HOUR選項不會計算從快取中查詢資料的次數,

例:限制其每小時最多可以更新10次

mysql> CREATE USER
-> 'test5'@' localhost' IDENTIFIED BY ' 555555'
-> WITH MAX_ UPDATES_ _PER_ HOUR 10;
Query OK,0 rows affected (0.00 sec)

查看user表的max_ updates欄位

mysql> SELECT max_ _updates FROM user WHERE user='test5' ;
+-------------+
|max_ updatesI|
+-------------+
|	  10	  | 
1 row in set (0.00 sec)

2.修改密碼

  • ALTER USER是更改密碼的首選SQL陳述句,推薦使用,
  • 第2種語法可能會被記錄到服務器的日志或客戶端的歷史檔案中,會有密碼泄露.的風險,因此建議用戶盡量少的使用此方式設定密碼,
為指定用戶設定密碼
mysql> ALTER USER 'test1' @ '&' IDENTIFIED BY '123456' ;
Query 0K,0 rows affected (0.00 sec)
為登錄戶設定密碼
mysql> ALTER USER USER() IDENTIFIED BY '000000' ;
Query 0K,0 rows affected (0.00 sec)

3.修改用戶

用戶創建完成后,管理員可以通過MySQL提供的專門SQL陳述句修改用戶的密碼身份驗證的方式資源限制密碼的屬性、以及賬戶的鎖定和解鎖的狀態

ALTER USER [IF EXISTS]
賬戶名[用戶身份驗證選項][,賬戶名[用戶身份驗證選項]].
[WITH資源限制選項][密碼管理選項|賬戶鎖定選項]

ALTER USER可同時修改一個或多個用戶,多個用戶之間使用逗號(,)分隔,
語法中選項的可選值與創建用戶時的選項完全相同,
每個修改的用戶,都會更新其在mysql.user表中對應的欄位值,而未修改的欄位仍然保留它原來的值,

例:修改用戶驗證插件、密碼以及密碼過期時間

mysql> ALTER USER test1
-> IDENTIFIED WITH sha256_ password BY '111111 '
-> PASSWORD EXPIRE;
Query OK,0 rows affected (0.01 sec)

查看修改后戶的密碼

mysq1> SELECT authentication_ string FROM mysql. user
-> WHERE user='test1' AND plugin= 'sha256_ password'

在這里插入圖片描述
解鎖用戶

mysql> ALTER USER 'test7'@ ' localhost' ACCOUNT UNLOCK;
Query 0K,0 rows affected (0.00 sec)

同時修改多個戶資源

mysql> ALTER USER
-> 'test1' IDENTIFIED WITH mysql_native_password,
-> 'test2'@' localhost' IDENTIFIED BY '222222'
-> WITH max_ _user_ connections 2;
Query 0K,0 rows affected (0.00 sec)

4.洗掉用戶

在MySQL中經常會創建多個普通用戶管理資料庫,但如果發現某些用戶是沒有必要的,就可以將其洗掉,通常洗掉用戶的方式采用MySQL提供的專門SQL陳述句

DROP USER [IF EXISTS]賬戶名[,賬戶名]

例:

mysql> DROP USER IE EXISTS test7;
Query 0K,0 rows affected, 1 warning (0.01 sec) .
#在洗掉賬戶時,如果省略主機地址,則默認為%’,

當DROP USER陳述句洗掉當前正在打開的用戶時,則該用戶的會話不會被自動關閉,只有在該用戶會話關閉后,洗掉操作才會生效,再次登錄將會失敗,另外,利用已洗掉的用戶登錄服務器創建的資料庫或物件不會因此洗掉操作而失效,

3.權限管理

資料表描述
user保存用戶被授予的全域權限
db保存用戶被授子的資料庫權限
tables_ priv保存用戶被授子的表權限
columns_priv保存用戶被授子的列權限
procs_priv保存用戶被授予的存盤程序權限
proxies_priv保存用戶被授予的代理權限

1.授予權限

根據權限的操作內容可將權限大致分為資料權限、結構權限以及管理權限,

權限權限級別描述
SELECT全域、資料庫、表、列SELECT
UPDATE全域、資料庫、表、列UPDATE
DELETE全域、資料庫、表DELETE
INSERT全域、資料庫、表、列INSERT
SHOW DATABASES全域SHOW DATABASES
SHOW VIEW全域、資料庫、表SHOW CREATE VIEW
PROCESS全域SHOW PROCESSLIST
DROP全域、資料庫、表允許洗掉資料庫、表和視圖
CREATE全域、資料庫、表創建資料庫、表
CREATE ROUTINE全域、資料庫創建存盤程序
CREATE TABLESPACE全域允許創建、修改或洗掉表空間和日志檔案組
CREATE TEMPORARY TABLES全域、資料庫CREATE TEMPORARY TABLE
CREATE VIEW全域、資料庫、表允許創建或修改視圖
ALTER全域、資料庫、表ALTER TABLE
ALTER ROUTINE全域、資料庫、存盤程序允許洗掉或修改存盤程序
INDEX全域、資料庫、表允許創建或洗掉索引
TRIGGER全域、資料庫、表允許觸發器的所有操作
REFERENCES全域、資料庫、表、列允許創建外鍵
SUPER全域允許使用其他管理操作,如CHANGE MASTER TO等
CREATE USER全域DROP USER、CREATE USER、RENAME USER和REVOKEALL、PRIVILEGES等
GRANT OPTION全域、資料庫、表、存盤程序、代理允許授予或洗掉用戶權限
RELOAD全域FLUSH操作
PROXY與代理的用戶權限相同
REPLICATION CLIENT全域允許用戶訪問主服務器或從服務器
REPLICATION SLAVE全域允許復制從服務器讀取的主服務器二進制日志事件
SHUTDOWN全域允許使用mysqladmin shutdown
LOCK TABLES全域、資料庫允許在有SELECT表權限上使用LOCK TABLES

權限級別指的就是權限可以被應用在哪些資料庫的內容中,

例如,SELECT權限可以被授予到全域(任意資料庫下的任意內容)、資料庫(指定資料庫下的任意內容)、表(指定資料庫下的指定資料表)、列(指定資料庫.下的指定資料表中的指定欄位),

GRANT 權限型別[欄位串列][,權限型別[欄位串列] ...
ON [目標型別]權限級別
TO 賬戶名[用戶身份驗證選項] [,賬戶名[用戶身份驗證選項]
...
[REQUIRE 連接方式]
[WITH {GRANT OPTION |資源控制選項}]
  • 權限型別:指的就是SELECT、DROP、CREATE等權限,
  • 欄位串列:用于設定列權限,
  • 目標型別:默認為TABLE,表示將全域、資料庫、表或列中的某些權限授予給指定的用戶,其他值為FUNCTION (函式)或PROCEDURE (存盤程序),
  • 權限級別:用于定義全域權限、資料庫權限和表權限,
  • 添加GRANT OPTION: 表示當前賬戶可以為其他賬戶進行授權,
  • 其余各引數均與CREATE USER中的用戶選項相同,這里不再贅述,

例:查看root用戶和test1用戶的授權情況

mysql>SHOW GRANTS FOR root'' localhost' ;

在這里插入圖片描述

mysql> SHOW GRANTS FOR 'test1' @ '%' ;

在這里插入圖片描述

  • ALL_PRIVILEGES表示除GRANT OPTION (授權權限)和PROXY (代理權限)外的所有權限,
  • USAGE表示沒有任何權限,
  • ON后的*.*表示全域級別的權限,即MySQL 服務器下的所有資料庫下的所有表,“@"表示任何主機中的匿名用戶,

例:授予test1戶shop.sh_ goods表的SELECT權限,以及對name和price欄位的插入權限

mysql> GRANT SELECT, INSERT (name, price)
-> ON shop.sh goods
-> TO 'test1 '@'號';
Query 0K,0 rows affected (0.00 sec)

查看權限的保存情況

mysql> SELECT db, table name, table priv, column_priv
-> FROM mysq1.tables priv WHERE user = 'test1' ;

在這里插入圖片描述

mysql> SELECT db, table name , column name , column_priv
-> FROM mysql.columns_ priv WHERE user= ' test1' ;

在這里插入圖片描述

2.回收權限

在MySQL中,為了保證資料庫的安全性,需要將用戶不必要的權限回收,
例如,資料管理員發現某個用戶不應該具有DELETE權限,就應該及時將其識訓,.

#①回收指定用戶的指定權限
REVOKE權限型別[(欄位串列)] [,權限型別[(欄位串列)]]
ON [目標型別]權限級別FROM賬戶名[,賬戶名] ....
#②回收所有權限以及可為其他用戶授權的權限
REVOKE ALL [PRIVIL EGES], GRANT OPTION FROM賬戶名[,賬戶名]
#③回收用戶的代理權限
REVOKE PROXY ON賬戶名FROM賬戶名1[,賬戶名2] ...

回收test1用戶的插入權限

mysq1> REVOKE INSERT (name, price)
-> ON shop.sh_ _goods FROM ' test1' @ '%' ;
Query OK, 0 rows affected (0.00 sec)

test1用戶登錄MySQL服務器,并插入資料

mysql> INSERT INTO shop.sh_ goods (name, price) VALUES('test', 23);
ERROR 1142 (42000):INSERT command denied to user ' test1'@ 'localhost' for table 'sh_goods'

3.重繪權限

重繪權限:指的是從系統資料庫mysq|中的權限表中重新加載用戶的權限,
原因在于: GRANT、CREATE USER等操作會將服務器的快取資訊保存到記憶體中,而REVOKE、DROP USER操作并不會同步到記憶體中,因此可能會造成服務器記憶體的消耗,所以在REVOKE、DROP USER后推薦讀者使用MySQL提供的“FLUSH PRIVILEGES"重新加載用戶的權限,

#方式1
FLUSH PRIVIL.EGES;
#方式2
mysqladmin -uroot -p reload
#方式3
mysqladmin -uroot -p flush-privileges

轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/137832.html

標籤:區塊鏈

上一篇:微盟程式員刪庫跑路,被判刑六年!

下一篇:智能優化演算法:麻雀搜索演算法-附代碼

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • JAVA使用 web3j 進行token轉賬

    最近新學習了下區塊鏈這方面的知識,所學不多,給大家分享下。 # 1. 關于web3j web3j是一個高度模塊化,反應性,型別安全的Java和Android庫,用于與智能合約配合并與以太坊網路上的客戶端(節點)集成。 # 2. 準備作業 jdk版本1.8 引入maven <dependency> < ......

    uj5u.com 2020-09-10 03:03:06 more
  • 以太坊智能合約開發框架Truffle

    前言 部署智能合約有多種方式,命令列的瀏覽器的渠道都有,但往往跟我們程式員的風格不太相符,因為我們習慣了在IDE里寫了代碼然后打包運行看效果。 雖然現在IDE中已經存在了Solidity插件,可以撰寫智能合約,但是部署智能合約卻要另走他路,沒辦法進行一個快捷的部署與測驗。 如果團隊管理的區塊節點多、 ......

    uj5u.com 2020-09-10 03:03:12 more
  • 谷歌二次驗證碼成為區塊鏈專用安全碼,你怎么看?

    前言 谷歌身份驗證器,前些年大家都比較陌生,但隨著國內互聯網安全的加強,它越來越多地出現在大家的視野中。 比較廣泛接觸的人群是國際3A游戲愛好者,游戲盜號現象嚴重+國外賬號安全應用廣泛,這類游戲一般都會要求用戶系結名為“兩步驗證”、“雙重驗證”等,平臺一般都推薦用谷歌身份驗證器。 后來區塊鏈業務風靡 ......

    uj5u.com 2020-09-10 03:03:17 more
  • 密碼學DAY1

    目錄 ##1.1 密碼學基本概念 密碼在我們的生活中有著重要的作用,那么密碼究竟來自何方,為何會產生呢? 密碼學是網路安全、資訊安全、區塊鏈等產品的基礎,常見的非對稱加密、對稱加密、散列函式等,都屬于密碼學范疇。 密碼學有數千年的歷史,從最開始的替換法到如今的非對稱加密演算法,經歷了古典密碼學,近代密 ......

    uj5u.com 2020-09-10 03:03:50 more
  • 密碼學DAY1_02

    目錄 ##1.1 ASCII編碼 ASCII(American Standard Code for Information Interchange,美國資訊交換標準代碼)是基于拉丁字母的一套電腦編碼系統,主要用于顯示現代英語和其他西歐語言。它是現今最通用的單位元組編碼系統,并等同于國際標準ISO/IE ......

    uj5u.com 2020-09-10 03:04:50 more
  • 密碼學DAY2

    ##1.1 加密模式 加密模式:https://docs.oracle.com/javase/8/docs/api/javax/crypto/Cipher.html ECB ECB : Electronic codebook, 電子密碼本. 需要加密的訊息按照塊密碼的塊大小被分為數個塊,并對每個塊進 ......

    uj5u.com 2020-09-10 03:05:42 more
  • NTP時鐘服務器的特點(京準電子)

    NTP時鐘服務器的特點(京準電子) NTP時鐘服務器的特點(京準電子) 京準電子官V——ahjzsz 首先對時間同步進行了背景介紹,然后討論了不同的時間同步網路技術,最后指出了建立全球或區域時間同步網存在的問題。 一、概 述 在通信領域,“同步”概念是指頻率的同步,即網路各個節點的時鐘頻率和相位同步 ......

    uj5u.com 2020-09-10 03:05:47 more
  • 標準化考場時鐘同步系統推進智能化校園建設

    標準化考場時鐘同步系統推進智能化校園建設 標準化考場時鐘同步系統推進智能化校園建設 安徽京準電子科技官微——ahjzsz 一、背景概述隨著教育事業的快速發展,學校建設如雨后春筍,隨之而來的學校教育、管理、安全方面的問題成了學校管理人員面臨的最大的挑戰,這些問題同時也是學生家長所擔心的。為了讓學生有更 ......

    uj5u.com 2020-09-10 03:05:51 more
  • 位元幣入門

    引言 位元幣基本結構 位元幣基礎知識 1)哈希演算法 2)非對稱加密技術 3)數字簽名 4)MerkleTree 5)哪有位元幣,有的是UTXO 6)位元幣挖礦與共識 7)區塊驗證(共識) 總結 引言 上一篇我們已經知道了什么是區塊鏈,此篇說一下區塊鏈的第一個應用——位元幣。其實先有位元幣,后有的區塊 ......

    uj5u.com 2020-09-10 03:06:15 more
  • 北斗對時服務器(北斗對時設備)電力系統應用

    北斗對時服務器(北斗對時設備)電力系統應用 北斗對時服務器(北斗對時設備)電力系統應用 京準電子科技官微(ahjzsz) 中國北斗衛星導航系統(英文名稱:BeiDou Navigation Satellite System,簡稱BDS),因為是目前世界范圍內唯一可以大面積提供免費定位服務的系統,所以 ......

    uj5u.com 2020-09-10 03:06:20 more
最新发布
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:46:47 more
  • Hyperledger Fabric 使用 CouchDB 和復雜智能合約開發

    在上個實驗中,我們已經實作了簡單智能合約實作及客戶端開發,但該實驗中智能合約只有基礎的增刪改查功能,且其中的資料管理功能與傳統 MySQL 比相差甚遠。本文將在前面實驗的基礎上,將 Hyperledger Fabric 的默認資料庫支持 LevelDB 改為 CouchDB 模式,以實作更復雜的資料... ......

    uj5u.com 2023-04-16 07:28:31 more
  • .NET Core 波場鏈離線簽名、廣播交易(發送 TRX和USDT)筆記

    Get Started NuGet You can run the following command to install the Tron.Wallet.Net in your project. PM> Install-Package Tron.Wallet.Net 配置 public reco ......

    uj5u.com 2023-04-14 08:08:00 more
  • DKP 黑客分析——不正確的代幣對比率計算

    概述: 2023 年 2 月 8 日,針對 DKP 協議的閃電貸攻擊導致該協議的用戶損失了 8 萬美元,因為 execute() 函式取決于 USDT-DKP 對中兩種代幣的余額比率。 智能合約黑客概述: 攻擊者的交易:0x0c850f,0x2d31 攻擊者地址:0xF38 利用合同:0xf34ad ......

    uj5u.com 2023-04-07 07:46:09 more
  • Defi開發簡介

    Defi開發簡介 介紹 Defi是去中心化金融的縮寫, 是一項旨在利用區塊鏈技術和智能合約創建更加開放,可訪問和透明的金融體系的運動. 這與傳統金融形成鮮明對比,傳統金融通常由少數大型銀行和金融機構控制 在Defi的世界里,用戶可以直接從他們的電腦或移動設備上訪問廣泛的金融服務,而不需要像銀行或者信 ......

    uj5u.com 2023-04-05 08:01:34 more
  • solidity簡單的ERC20代幣實作

    // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.7.0 <0.9.0; import "hardhat/console.sol"; //ERC20 同質化代幣,每個代幣的本質或性質都是相同 //ETH 是原生代幣,它不是ERC20代幣, ......

    uj5u.com 2023-03-21 07:56:29 more
  • solidity 參考型別修飾符memory、calldata與storage 常量修飾符C

    在solidity語言中 參考型別修飾符(參考型別為存盤空間不固定的數值型別) memory、calldata與storage,它們只能修飾參考型別變數,比如字串、陣列、位元組等... memory 適用于方法傳參、返參或在方法體內使用,使用完就會清除掉,釋放記憶體 calldata 僅適用于方法傳參 ......

    uj5u.com 2023-03-08 07:57:54 more
  • solidity注解標簽

    在solidity語言中 注釋符為// 注解符為/* 內容*/ 或者 是 ///內容 注解中含有這幾個標簽給予我們使用 @title 一個應該描述合約/介面的標題 contract, library, interface @author 作者的名字 contract, library, interf ......

    uj5u.com 2023-03-08 07:57:49 more
  • 評價指標:相似度、GAS消耗

    【代碼注釋自動生成方法綜述】 這些評測指標主要來自機器翻譯和文本總結等研究領域,可以評估候選文本(即基于代碼注釋自動方法而生成)和參考文本(即基于手工方式而生成)的相似度. BLEU指標^[^?88^^?^]^:其全稱是bilingual evaluation understudy.該指標是最早用于 ......

    uj5u.com 2023-02-23 07:27:39 more
  • 基于NOSTR協議的“公有制”版本的Twitter,去中心化社交軟體Damus

    最近,一個幽靈,Web3的幽靈,在網路游蕩,它叫Damus,這玩意詮釋了什么叫做病毒式營銷,滑稽的是,一個Web3產品卻在Web2的產品鏈上瘋狂傳銷,各方大佬紛紛為其背書,到底發生了什么?Damus的葫蘆里,賣的是什么藥? 注冊和簡單實用 很少有什么產品在用戶注冊環節會有什么噱頭,但Damus確實出 ......

    uj5u.com 2023-02-05 06:48:39 more