MCPcopy Create free account

hub / github.com/ZuoFuhong/blockchain_rust / functions

Functions155 in github.com/ZuoFuhong/blockchain_rust

↓ 17 callersMethodget
(&self, txid_hex: &str)
src/memory_pool.rs:27
↓ 12 callersMethodget_id
(&self)
src/transaction.rs:247
↓ 10 callersMethodlen
(&self)
src/node.rs:60
↓ 9 callersMethodget_node_addr
获取节点地址
src/config.rs:35
↓ 8 callersMethodget_addr
(&self)
src/node.rs:14
↓ 8 callersMethodget_txid
(&self)
src/transaction.rs:30
↓ 7 callersMethodadd_node
(&self, addr: String)
src/node.rs:34
↓ 7 callersMethodget_hash
(&self)
src/block.rs:67
↓ 7 callersMethodremove
(&self, txid_hex: &str)
src/memory_pool.rs:34
↓ 7 callersFunctionsha256_digest
计算 sha256 哈希值
src/utils.rs:17
↓ 6 callersMethodget_vout
(&self)
src/transaction.rs:34
↓ 6 callersFunctionnew_coinbase_tx
()
src/transaction.rs:278
↓ 6 callersFunctionsend_data
统一发送请求
src/server.rs:341
↓ 6 callersFunctionvalidate_address
验证地址有效
src/wallet.rs:62
↓ 5 callersFunctionbase58_decode
base58 解码
src/utils.rs:39
↓ 5 callersMethodget_best_height
获取最新区块在链中的高度
src/blockchain.rs:190
↓ 5 callersMethodget_db
(&self)
src/blockchain.rs:65
↓ 5 callersMethodget_tip_hash
(&self)
src/blockchain.rs:69
↓ 5 callersFunctionsend_get_data
(addr: &str, op_type: OpType, id: &[u8])
src/server.rs:112
↓ 4 callersMethodget_transactions
(&self)
src/block.rs:59
↓ 4 callersMethodhash
生成交易的哈希
src/transaction.rs:238
↓ 4 callersFunctionhash_pub_key
计算公钥哈希
src/wallet.rs:49
↓ 4 callersMethodis_coinbase
判断是否是 coinbase 交易
src/transaction.rs:233
↓ 4 callersMethoditerator
(&self)
src/blockchain.rs:96
↓ 4 callersMethodnext
(&mut self)
src/blockchain.rs:239
↓ 4 callersMethodreindex
重建 UTXO 集
src/utxo_set.rs:85
↓ 4 callersMethodserialize
区块序列化
src/block.rs:40
↓ 3 callersFunctionbase58_encode
base58 编码
src/utils.rs:34
↓ 3 callersFunctionchecksum
计算校验和
src/wallet.rs:55
↓ 3 callersMethodfind_transaction
从区块链中查找交易
src/blockchain.rs:150
↓ 3 callersMethodfind_utxo
通过公钥哈希查找 UTXO 集
src/utxo_set.rs:56
↓ 3 callersMethodfirst
(&self)
src/node.rs:48
↓ 3 callersMethodget_height
(&self)
src/block.rs:79
↓ 3 callersMethodget_value
(&self)
src/transaction.rs:67
↓ 3 callersMethodget_vin
(&self)
src/transaction.rs:255
↓ 3 callersMethodmine_block
挖矿新区块
src/blockchain.rs:79
↓ 3 callersFunctionsend_inv
(addr: &str, op_type: OpType, blocks: &[Vec<u8>])
src/server.rs:125
↓ 2 callersMethodadd
(&self, tx: Transaction)
src/memory_pool.rs:22
↓ 2 callersMethodadd_block
添加一个区块到区块链
src/blockchain.rs:168
↓ 2 callersMethodadd_blocks
(&self, blocks: &[Vec<u8>])
src/memory_pool.rs:65
↓ 2 callersFunctionconvert_address
通过公钥哈希计算地址
src/wallet.rs:76
↓ 2 callersMethodcreate_wallet
创建一个钱包
src/wallets.rs:23
↓ 2 callersFunctionecdsa_p256_sha256_sign_digest
ECDSA P256 SHA256 签名
src/utils.rs:51
↓ 2 callersFunctionecdsa_p256_sha256_sign_verify
ECDSA P256 SHA256 签名验证
src/utils.rs:58
↓ 2 callersMethodevict_node
(&self, addr: &str)
src/node.rs:41
↓ 2 callersMethodget_address
获取钱包地址 这里得到了一个真实的BTC地址,可以在 (Tokenview)[https://tokenview.com/cn/search/173EuX6KuB1EiWYEKyaQud6x91VNjkM3Vu] 查询它的余额. 不过我可以负责任地说,无论生成一个新的地址多少次,检查它的余额都是 0
src/wallet.rs:28
↓ 2 callersMethodget_addresses
(&self)
src/wallets.rs:31
↓ 2 callersMethodget_block
通过区块哈希查询区块
src/blockchain.rs:201
↓ 2 callersMethodget_block_hashes
返回链中所有区块的哈希列表
src/blockchain.rs:211
↓ 2 callersMethodget_nodes
(&self)
src/node.rs:56
↓ 2 callersMethodget_pre_block_hash
(&self)
src/block.rs:63
↓ 2 callersMethodget_public_key
(&self)
src/wallet.rs:39
↓ 2 callersMethodis_locked_with_key
(&self, pub_key_hash: &[u8])
src/transaction.rs:81
↓ 2 callersFunctionnew_key_pair
创建密钥对(椭圆曲线加密)
src/utils.rs:44
↓ 2 callersFunctionripemd160_digest
计算 ripemd160 哈希值
src/utils.rs:25
↓ 2 callersMethodrun
(&self, addr: &str)
src/server.rs:50
↓ 2 callersFunctionsend_tx
(addr: &str, tx: &Transaction)
src/server.rs:150
↓ 2 callersFunctionsend_version
(addr: &str, height: usize)
src/server.rs:162
↓ 2 callersMethodserialize
(&self)
src/transaction.rs:263
↓ 2 callersMethodset_tip_hash
(&self, new_tip_hash: &str)
src/blockchain.rs:73
↓ 2 callersMethodsign
对交易的每个输入进行签名
src/transaction.rs:181
↓ 2 callersMethodtrimmed_copy
创建一个修剪后的交易副本
src/transaction.rs:163
↓ 2 callersMethodupdate
使用来自区块的交易更新 UTXO 集
src/utxo_set.rs:99
↓ 2 callersMethodverify
对交易的每个输入进行签名验证
src/transaction.rs:203
↓ 1 callersMethodclear
(&self)
src/memory_pool.rs:87
↓ 1 callersMethodcontaines
(&self, txid_hex: &str)
src/memory_pool.rs:18
↓ 1 callersMethodcount_transactions
统计 UTXO 集合中的交易数量
src/utxo_set.rs:74
↓ 1 callersFunctioncurrent_timestamp
获取当前时间戳,单位:ms
src/utils.rs:9
↓ 1 callersMethodfind_spendable_outputs
找到未花费的输出
src/utxo_set.rs:24
↓ 1 callersMethodget_all
(&self)
src/memory_pool.rs:39
↓ 1 callersMethodget_blockchain
(&self)
src/utxo_set.rs:19
↓ 1 callersMethodget_hash_bytes
(&self)
src/block.rs:71
↓ 1 callersMethodget_id_bytes
(&self)
src/transaction.rs:251
↓ 1 callersMethodget_mining_addr
获取矿工钱包地址
src/config.rs:47
↓ 1 callersMethodget_pkcs8
(&self)
src/wallet.rs:43
↓ 1 callersMethodget_pub_key
(&self)
src/transaction.rs:38
↓ 1 callersMethodget_pub_key_hash
(&self)
src/transaction.rs:71
↓ 1 callersMethodget_timestamp
(&self)
src/block.rs:75
↓ 1 callersMethodget_wallet
通过钱包地址查询钱包
src/wallets.rs:40
↓ 1 callersMethodhash_transactions
计算区块里所有交易的哈希
src/block.rs:51
↓ 1 callersMethodis_miner
检查矿工节点
src/config.rs:56
↓ 1 callersMethodload_from_file
从本地文件加载钱包
src/wallets.rs:48
↓ 1 callersMethodlock
(&mut self, address: &str)
src/transaction.rs:75
↓ 1 callersFunctionnew_utxo_transaction
()
src/transaction.rs:294
↓ 1 callersMethodnode_is_known
(&self, addr: &str)
src/node.rs:64
↓ 1 callersMethodprepare_data
工作量证明用到的数据
src/proof_of_work.rs:26
↓ 1 callersMethodsave_to_file
钱包持久化到本地文件
src/wallets.rs:62
↓ 1 callersFunctionsend_block
(addr: &str, block: &Block)
src/server.rs:138
↓ 1 callersFunctionsend_get_blocks
(addr: &str)
src/server.rs:175
↓ 1 callersFunctionserve
(blockchain: Blockchain, stream: TcpStream)
src/server.rs:186
↓ 1 callersMethodset_mining_addr
设置矿工钱包地址
src/config.rs:41
Functionclient_createblockchain
()
tests/cli.rs:5
Functionclient_createwallet
()
tests/cli.rs:15
Functionclient_get_addresses
()
tests/cli.rs:24
Functionclient_get_balance
()
tests/cli.rs:36
Functionclient_printchain
()
tests/cli.rs:62
Functionclient_reindexutxo
()
tests/cli.rs:74
Functionclient_send
()
tests/cli.rs:49
Functionclient_startnode
()
tests/cli.rs:83
Methodcreate_blockchain
创建新的区块链
src/blockchain.rs:21
next →1–100 of 155, ranked by callers