Connect to applications on EOS, Ethereum, and Tron. Exchange tokens with ease. Manage your assets safely. All in a simple to use interface.
This means you can use Scatter without any libraries if you don't need return results. You can also use links inside of Twitter, Youtube, Telegram, or anything else.
Here's an example link for a Transfer that works in telegram or twitter.
Here's an example link for a Transfer that works in a website you control the html for.
<a href="scatter://transfer/?payload=scatterfunds">
<button>Donate</button>
</a>
This special "transfer" action accepts the following structure to/amount/memo/chain_id
For instance scatter://transfer/?payload=scatterfunds/1.0000/helloworld
If the amount
is left at 0 or is missing then the user will be able to select the amount, otherwise it will be a fixed amount.
NOTE: The transfers will always be in base tokens. ( EOS, ETH, TRX, etc )
So you can interact with Scatter the same way you would with a native application but using deep linking instead of a socket. For instance:
scatter://requestSignature/?payload={...}
In the future you will be able to pass in an optional return deep link which will return results.
eosjs
library. Scatter has already added eosjs2
support to our SDKs and this version includes support for eosjs2
within Scatter Desktop as well.transfer
actions.Scatter now has Tron support. It defaults to the test network for now but will be updated in a later version to default to the mainnet. You can already point it to the mainnet manually by adding a node you know of with a chainId
of 1.
scatterjs-core
now also has basic Tron support. Check it out here.
Vault, Receive and Send
buttons to be textual.api.get-scatter.com
This Scatter update includes an almost entire re-write of the UI/UX for Scatter. The only things that haven't changed yet are the "Settings" panel, and the "Sign Transaction" popup.
This massive update was due to an article I wrote recently. https://medium.com/@nsjames/blockchain-ux-should-just-be-ux-529c9ca55a8e
linkAccount
it no longer accepts the account
parameter, and does everything internally by forcing a total keypair relinking. This also prevents a bug that allowed dapps to add accounts to scatter which did not exist.authenticate
now requires a 12 character nonce and returns the following format sha256(sha256(origin)+sha256(nonce))
signed by the private key of the identity.Still not signing yet just to get this version out quickly as it adds some support that users are waiting for.
Currently only EOSIO is supported. Soon Ethereum will also be supported. You can not use Ledger for all dapps, only EOSIO system contracts like delegation and EOS token transfers.
Though this is still an unsigned package Scatter Desktop is now a Consumer Ready Product! Expect the next releases to be signed and be released with accompanying checksums.
requestTransfer(network, to, amount, options = {})
Request Transfer is a new API method that allows for things like Donation buttons and eases development for plugins on frameworks like Wordpress and Shopify. Request Transfer does not need Identity pairing or signature providers like scatter.eos
or scatter.eth
! All token transfers are handled internally and you don't have to specify a from
account as the user will be selecting it themselves.
scatter.requestTransfer(
network,
'toaccount',
'1.0000',
{
contract:'eosio.token',
symbol:'EOS',
memo:'',
decimals:4
}
)
When specifying an amount ONLY that amount can be sent. When left as 0
then the user can specify the amount themselves.
This is a patch release which only includes a few minor bug-fixes.
getPublicKey
and linkAccount
) APIs exposedNote: If you want to use the new API routes below from scatter-js just make sure that scatter.isExtension
is false
.
getPublicKey(blockchain)
When an app requests this route the user is prompted to either return a key public key from their keychain, or generate a new one. The selected/generated key is then returned to the app so that the app can either create an account on top of it or continue onwards to linking it to an account on a network with the user's Scatter.
linkAccount(publicKey, account, network)
When an app requests this route the user is prompted to accept linking this account to the key in their Scatter. If the network does not exist, it will be created as well as long as it does not conflict with existing networks.
These changes are backwards compatible with older non-authenticated version of scatter-js. However whitelist action permissions will not be available when interacting with non-authenticated apps
This update allows stronger verification of origins to allow for permissions to be validated against specific apps.
This key is given to Scatter from the app upon approved connections. The app then saves only a hashed version of it to validate itself against Scatter.
Along with the application key a nonce ( randomized uuid ) is sent to Scatter along with every request as well as a hashed version of the next nonce. If a nonce is incorrect and doesn't match the assumed next nonce but the app key is correct permissions are dropped and the user is asked to re-authenticate with the application.