Question re Alg SDK usage

Hi I’m new to Algorand and not a formally trained programmer. I’m building an app for users to pool money into a multisignature account to be disbursed later on. I’m considering a serverless web app using Firebase. I have a couple questions to make sure I’m understanding the SDK correctly.

The algorandsdk is a server side library and cannot be used on the client side. Is this correct? Ideally, I would like the users to create their own algorand addresses and safekeep their own private keys. But, for algorandsdk to be initialized, it requires server address, port, and token. So if I need to create addresses on user’s behalf, I technically have to create the new wallets through kmd on my server side. Are there any implementations out there that do it differently? So wallet services technically can peek inside user’s private keys since they are created server side? Maybe I’m misunderstanding something here.

Welcome!

Our SDKs contain functions for standalone accounts which can enable the client side account generation that you’re looking for.

See here for docs on generating standalone accounts with the SDKs: https://developer.algorand.org/docs/features/accounts/create/#standalone

The server address, port, and token are required if you are interacting directly with the blockchain (e.g. when you submit or read a transaction).

Multisignature accounts can also be generated client side as they are just logical representations of addresses. Read more about those here: https://developer.algorand.org/docs/features/accounts/create/#multisignature

Separately, without knowing the details of your application, you may find our Smart Contracts useful for creating the logic you need to pool and disburse the funds.

Smart Contract Doc Landing Page: https://developer.algorand.org/docs/features/asc1/
Smart Contract Accounts: https://developer.algorand.org/docs/features/asc1/modes/#contract-account

Also check out some of our Tutorials on creating Smart Contracts:
https://developer.algorand.org/search/?query=asc1&sort_by=relevancy&category=tutorial

1 Like

Thanks for the explanation Liz!

1 Like