Skip to content

greenart7c3/Amber

Repository files navigation

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"
  • 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.