2023-08-28 10:00:26 -03:00
2023-07-28 10:12:46 -03:00
2023-08-28 10:00:26 -03:00
2023-07-26 16:44:33 -03:00
2023-07-26 16:44:33 -03:00
2023-07-26 16:44:33 -03:00
2023-08-23 08:10:12 -03:00
2023-07-26 16:44:33 -03:00
2023-07-28 15:26:37 -03:00
2023-07-26 16:44:33 -03:00
2023-07-26 16:36:23 -03:00
2023-08-23 16:27:43 -03:00
2023-07-26 16:44:33 -03:00

Amber: Nostr event signer for Android

Designed to have your keys on only one application

Current Features

  • Offline
  • Use nip-46 or make an addendum in nip-46
  • Improve the ui (currently its showing a text with the raw json of the event)
  • Check if we can use Amber to sign the events of web applications
  • Change the sign button to just copy the signature of the event
  • Use a service or another approach to not open the app always to get the signed event on android

Adding Amber support for your application

  • Add a package querie in your AndroidManifest.xml
<queries>
    <package android:name="com.greenart7c3.nostrsigner"/>
</queries>
  • Create the Nostr Event
val event = TextNoteEvent(id, pubKey, TimeUtils.now(), tags, message, signature = "")
  • Convert the event to json
val json = event.toJson()
  • Create the intent using the nostrsigner scheme
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("nostrsigner:$json;name=Your Application name"))
  • Set the package name of the signer app for the intent
intent.`package` = "com.greenart7c3.nostrsigner"
  • Set the type eg (sign_event, nip04_encrypt, nip04_decrypt, nip44_encrypt, nip44_decrypt, get_public_key)
val signerType = when (type) {
    SignerType.SIGN_EVENT -> "sign_event"
    SignerType.NIP04_ENCRYPT -> "nip04_encrypt"
    SignerType.NIP04_DECRYPT -> "nip04_decrypt"
    SignerType.NIP44_ENCRYPT -> "nip44_encrypt"
    SignerType.NIP44_DECRYPT -> "nip44_decrypt"
    SignerType.GET_PUBLIC_KEY -> "get_public_key"
}
intent.putExtra("type", signerType)
  • Set the pubkey if using nip04_decrypt
intent.putExtra("pubKey", pubKey)
  • Start the signer Activity
context.startActivity(intent)

Support for Web Applications

  • Create the Nostr Event

  • Convert the event to json

const json = JSON.stringify(note)
  • Create the intent
const intent = `nostrsigner:${json};name=Your Application name`
  • Send the intent
window.location.href = intent;

Contributing

Issues and pull requests are very welcome.

S
Description
No description provided
Readme MIT
17 MiB
Languages
Kotlin 93.4%
DM 5.5%
Shell 0.7%
Dockerfile 0.2%
Python 0.2%