Skip to content
🚀 Cosmostation Wallet Apps (Android & iOS)
Java Swift Objective-C
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
Cosmos-Android prepare cosmoshub-3 Aug 22, 2019
Cosmos-IOS/Cosmostation prepare cosmoshub-3 Aug 22, 2019
.gitignore Initial commit Jan 22, 2019 Add Jun 28, 2019 Update Jul 15, 2019

Cosmostation logo

Cosmostation Mobile Wallet

Welcome to Cosmostation's Open Source Mobile Apps!

MIT Twitter Follow

🚀 Developed / Developing by Cosmostation


Cosmostation wallet apps are non-custodial tendermint-based wallet that supports Cosmos Network. We will add more tendermint-based blockchain projects in the coming updates, such as IRISnet, IOV, Kava.


for generate signature with swift you have to midify BicoinKey library after pod intalled. please check below code for get correct signature in tendermint /Pods/BitcoinKet/Source/Crypro.swift (line ~59)

  public static func sign(_ data: Data, privateKey: PrivateKey) throws -> Data {
      let ctx = secp256k1_context_create(UInt32(SECP256K1_CONTEXT_SIGN))!
      defer { secp256k1_context_destroy(ctx) }

      let signature = UnsafeMutablePointer<secp256k1_ecdsa_signature>.allocate(capacity: 1)
      defer { signature.deallocate() }

      var paddingKey = Data()
      let value: UInt8 = 0
      for i in privateKey.raw.count..<32 {

      let status = data.withUnsafeBytes { (ptr: UnsafePointer<UInt8>) in
          paddingKey.withUnsafeBytes { secp256k1_ecdsa_sign(ctx, signature, ptr, $0, nil, nil) }
      guard status == 1 else { throw CryptoError.signFailed }

      let normalizedsig = UnsafeMutablePointer<secp256k1_ecdsa_signature>.allocate(capacity: 1)
      defer { normalizedsig.deallocate() }
      secp256k1_ecdsa_signature_normalize(ctx, normalizedsig, signature)

      var length: size_t = 128
      var der = Data(count: length)
      guard der.withUnsafeMutableBytes({ return secp256k1_ecdsa_signature_serialize_der(ctx, $0, &length, normalizedsig) }) == 1 else { throw CryptoError.noEnoughSpace }
      der.count = length
      return der


Cosmostation's Services and Community


Copyright © Cosmostation, Inc. All rights reserved.

Licensed under the MIT.

You can’t perform that action at this time.