主机论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 82|回复: 4

grok2还是有点拉

[复制链接]

25

主题

531

回帖

1461

积分

金牌会员

Rank: 6Rank: 6

积分
1461
发表于 6 天前 | 显示全部楼层 |阅读模式
rust生成tron地址都不行
grok2生成的代码:
  1. use secp256k1::{Secp256k1, SecretKey};
  2. use sha2::{Sha256, Digest};
  3. use ripemd160::{Ripemd160};
  4. use base58::{ToBase58};
  5. use rand::rngs::OsRng;

  6. fn generate_tron_address() -> String {
  7.     // 生成私钥
  8.     let secp = Secp256k1::new();
  9.     let mut rng = OsRng::new().expect("OsRng");
  10.     let secret_key = SecretKey::new(&mut rng);
  11.    
  12.     // 从私钥派生公钥
  13.     let public_key = secret_key.public_key(&secp);
  14.    
  15.     // 压缩公钥
  16.     let serialized_public_key = public_key.serialize();
  17.    
  18.     // 计算公钥的SHA256哈希
  19.     let mut hasher = Sha256::new();
  20.     hasher.update(&serialized_public_key[..]);
  21.     let sha256_result = hasher.finalize();
  22.    
  23.     // 计算SHA256哈希的RIPEMD160哈希
  24.     let mut ripemd160_hasher = Ripemd160::new();
  25.     ripemd160_hasher.update(&sha256_result);
  26.     let ripemd160_result = ripemd160_hasher.finalize();
  27.    
  28.     // 添加Tron地址前缀
  29.     let mut address_bytes = vec![0x41]; // Tron地址前缀
  30.     address_bytes.extend_from_slice(&ripemd160_result);
  31.    
  32.     // 计算地址的SHA256哈希
  33.     let mut hasher = Sha256::new();
  34.     hasher.update(&address_bytes);
  35.     let sha256_result = hasher.finalize();
  36.    
  37.     // 再次计算SHA256哈希
  38.     let mut hasher = Sha256::new();
  39.     hasher.update(&sha256_result);
  40.     let sha256_result = hasher.finalize();
  41.    
  42.     // 添加校验和
  43.     address_bytes.extend_from_slice(&sha256_result[..4]);
  44.    
  45.     // 转换为Base58编码
  46.     let address = address_bytes.to_base58();
  47.    
  48.     address
  49. }

  50. fn main() {
  51.     let tron_address = generate_tron_address();
  52.     println!("Tron Address: {}", tron_address);
  53. }
复制代码

deepseek生成的代码:
  1. use secp256k1::{Secp256k1, SecretKey, PublicKey};
  2. use rand::rngs::OsRng;
  3. use sha3::{Digest, Keccak256, Sha3_256};
  4. use bs58;

  5. fn main() {
  6.     // 生成私钥
  7.     let secp = Secp256k1::new();
  8.     let mut rng = OsRng::default();
  9.     let secret_key = SecretKey::new(&mut rng);
  10.    
  11.     // 导出公钥(压缩格式)
  12.     let public_key = PublicKey::from_secret_key(&secp, &secret_key);
  13.     let public_key_bytes = public_key.serialize_compressed();
  14.    
  15.     // 对公钥进行Keccak-256哈希,取后20字节作为地址主体
  16.     let mut keccak = Keccak256::new();
  17.     keccak.update(&public_key_bytes);
  18.     let pub_key_hash = keccak.finalize();
  19.     let address_body = &pub_key_hash[12..]; // 后20字节
  20.    
  21.     // 添加版本号0x41
  22.     let mut address_with_version = vec![0x41];
  23.     address_with_version.extend_from_slice(address_body);
  24.    
  25.     // 计算校验和:两次SHA3-256哈希,取前4字节
  26.     let mut first_sha3 = Sha3_256::new();
  27.     first_sha3.update(&address_with_version);
  28.     let first_hash = first_sha3.finalize();
  29.    
  30.     let mut second_sha3 = Sha3_256::new();
  31.     second_sha3.update(&first_hash);
  32.     let checksum = &second_sha3.finalize()[..4];
  33.    
  34.     // 组合成25字节
  35.     let mut final_bytes = address_with_version.clone();
  36.     final_bytes.extend_from_slice(checksum);
  37.    
  38.     // Base58编码
  39.     let tron_address = bs58::encode(final_bytes).into_string();
  40.    
  41.     println!("Private Key: {}", hex::encode(secret_key.secret_bytes()));
  42.     println!("Public Key: {}", hex::encode(public_key_bytes));
  43.     println!("Tron Address: {}", tron_address);
  44. }
复制代码


grok明显生成了错误的代码
回复

使用道具 举报

280

主题

3900

回帖

9936

积分

论坛元老

Rank: 8Rank: 8

积分
9936
发表于 6 天前 | 显示全部楼层
是的,grok2定位就不是代码逻辑。不过今天凌晨grok3发布了

10万个H100加持,恐怖
回复

使用道具 举报

25

主题

531

回帖

1461

积分

金牌会员

Rank: 6Rank: 6

积分
1461
 楼主| 发表于 6 天前 | 显示全部楼层
toot 发表于 2025-2-18 18:22
是的,grok2定位就不是代码逻辑。不过今天凌晨grok3发布了

10万个H100加持,恐怖 ...

太豪横了,不知道免费的额度后面能不能用grok3
回复

使用道具 举报

280

主题

3900

回帖

9936

积分

论坛元老

Rank: 8Rank: 8

积分
9936
发表于 6 天前 | 显示全部楼层
ClearkSky 发表于 2025-2-18 18:24
太豪横了,不知道免费的额度后面能不能用grok3


有gpt竞争肯定会开放啊

刚开始grok1都不开放,gpt竞争必须要开放
回复

使用道具 举报

82

主题

113

回帖

552

积分

高级会员

Rank: 4

积分
552
发表于 6 天前 | 显示全部楼层
在AI领域,老马就能吹牛逼
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|主机论坛

GMT+8, 2025-2-24 13:32 , Processed in 0.075673 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表