🔗Phantasma Link Client

The connecting Wallets to Dapps

Phantasma Link is a protocol designed to allow dapps to sign transactions and do other on-chain operations on the behalf of users, in a transparent way, without requiring access to the user private key.

In this documentation, we will explore each method of the Phantasma Link Client, explaining their purpose and usage.

Authorize

protected abstract void Authorize(string dapp, string token, int version, Action<bool, string> callback);

The Authorize method is used to authenticate the user and grant the specified dApp access to the user's wallet. It requires the dApp identifier, an authentication token, and the version number. The callback returns a boolean indicating whether the authorization was successful and an optional error message.

GetAccount

protected abstract void GetAccount(string platform, int version, Action<Account, string> callback);

The GetAccount method retrieves the user's account details for the specified platform and version. The callback returns the account object and an optional error message.

GetPeer

protected abstract void GetPeer(Action<string> callback);

The GetPeer method retrieves the current peer node of the Phantasma blockchain. The callback returns the peer node URL.

GetNexus

protected abstract void GetNexus(Action<string> callback);

The GetNexus method retrieves the current nexus name of the Phantasma blockchain. The callback returns the nexus name.

InvokeScript

protected abstract void InvokeScript(string chain, byte[] script, int id, Action<string[], string> callback);

The InvokeScript method allows you to execute a script on the specified chain in the Phantasma blockchain. It requires the chain name, the script as a byte array, and a unique identifier. The callback returns an array of results and an optional error message.

SignData

protected abstract void SignData(string platform, SignatureKind kind, byte[] data, int id, Action<string, string, string> callback);

The SignData method signs a given data using the user's private key. It requires the platform, the signature type, the data as a byte array, and a unique identifier. The callback returns the signed data, random appended bytes, and an optional error message.

SignTransactionSignature

protected abstract void SignTransactionSignature(Phantasma.Core.Domain.Transaction transaction, string platform, SignatureKind kind, Action<Phantasma.Core.Cryptography.Signature, string> callback);

The SignTransactionSignature method signs a given transaction using the user's private key. It requires the transaction object, the platform, and the signature type. The callback returns the transaction signature and an optional error message.

FetchAndMultiSignature

protected abstract void FetchAndMultiSignature(string subject, string platform, SignatureKind kind, int id, Action<bool, string> callback);

The FetchAndMultiSignature method retrieves the user's multi-signature account for the specified subject and platform, signs it with the user's private key, and submits it to the blockchain. It requires the subject, the platform, the signature type, and a unique identifier. The callback returns a boolean indicating the success of the operation and an optional error message.

SignTransaction

protected abstract void SignTransaction(string platform, SignatureKind kind, string chain, byte[] script, byte[] payload, int id, ProofOfWork pow, Action<Hash, string> callback);

The SignTransaction method creates, signs, and broadcasts a transaction to the Phantasma blockchain. It requires the platform, the signature type, the chain name, the script and payload as byte arrays, a unique identifier, and an optional Proof of Work (PoW) object. The callback returns the transaction hash and an optional error message.

WriteArchive

protected abstract void WriteArchive(Hash hash, int blockIndex, byte[] data, Action<bool, string> callback);

The WriteArchive method writes data to the Phantasma blockchain's archive. It requires the archive hash, the block index, and the data as a byte array. The callback returns a boolean indicating the success of the operation and an optional error message.

With this documentation, you should now have a better understanding of the methods available in the Phantasma Link Client and how they can be used to interact with the Phantasma blockchain. Developers can implement these methods in their projects to facilitate easy and secure interaction with the Phantasma ecosystem, providing users with seamless access to decentralized applications and digital asset management.

Last updated