SwiftEOS

作者: Harely | 来源:发表于2020-03-20 17:17 被阅读0次

    SwiftEOS是一个用于与EOS交互的开源框架,用Swift编写,可以在iOS和macOS上使用。

    • 特点:

      • EOS密钥对生成;
      • 私钥导入;
      • 签名哈希;
      • 基本的RPC API(链/历史)可查询客户端;
      • 交易(EOS token 转账);
      • 帮助类处理iOS上的脱机钱包;
      • 在iOS上加密/解密导入私钥。
    • 使用
      a. 将Libraries和Sources(只保留Crypto和Key2个文件夹)文件夹复制到项目中,不需要main.swift;
      b. 如果不是针对iOS平台,请删除Sources/Utils/iOS;
      c. 将Libraries/include添加到Header搜索路径中;

    添加到搜索路径

    d. 将Libraries/include/Bridging-Header.h设置为Objective-C Bridging Header。如果你有自己的bridging header,请复制该文件中的所有导入内容并粘贴到你自己的文件中;

    导入的文件,有的<>需要换为“”,否则编译不通过

    e. 编译然后等结果。


    密钥对的产生

    private func encryptorTest() {
        
        ///生成随机密钥对
        let (pk, pub) = generateRandomKeyPair(enclave: .Secp256k1)
        guard let privateKey = pk, let publicKey = pub else {
            return
        }
        print("private key: \(privateKey.wif())")
        print("public key : \(publicKey.wif())")
        
        //PVT_K1_和PUB_K1_前缀是标准密钥表示的一部分。但是EOS系统和SwiftyEOS也支持旧方式
        print("去除PVT_K1_的 private key: \(privateKey.rawPrivateKey())")
        print("去除PUB_K1_的public key : \(publicKey.rawPublicKey())")
        
        
        ///导入现有密钥
        //导入不带分隔符和前缀的密钥
        guard let importedPrivateKey = try? PrivateKey(keyString: privateKey.rawPrivateKey()) else { return }
        let importedPulicKey = PublicKey(privateKey: importedPrivateKey)
        print("导入带前缀的密钥:\(importedPulicKey)")
        
        //导入带分隔符和前缀的密钥
        guard let importedPk = try? PrivateKey(keyString: privateKey.wif()) else { return }
        let importedPub = PublicKey(privateKey: importedPk)
        print("导入不带前缀的密钥:\(importedPub)")
        
        
        
        ///RPC API
        
        
    }
    
    
    打印结果

    相关文章

      网友评论

          本文标题:SwiftEOS

          本文链接:https://www.haomeiwen.com/subject/hazjyhtx.html