It seems to me that Blockstack provides some convenient APIs for developing applications with requirements of limited functionalities such as login and payment…
However, if my apps really need some smart contracts which are not supported by current APIs, is there any way for me to use Blockstack?
A smart contract is code that is stored, verified and executed on a blockchain.
Blockstack has a “virtual chain” (blockchain implementation that sits on top of a cryptocurrencies blockchain, e.g. Bitcoin) that acts as a control layer for what data is stored in the blockchain. And the only operations the virtual chain records in the underlying blockchain are transaction data (e.g. registration or transfer of a domain name).
Therefore, Blockstack doesn’t let you program smart contracts per say, but it does allow you to perform application level logic via its API. This way, you can take advantage of the blockchain without the scalability and security issues involved in storing complex application logic inside it.
And the only operations the virtual chain records in the underlying blockchain are transaction data (e.g. registration or transfer of a domain name).
Can apps running on blockstack use custom tokens? E.g. Can I create an app that allows users to send each other ‘FunBux’ and would these transactions be stored in the underlying blockchain?
@hitwill Once the Blockstack token is operational applications will be able to launch tokens on top of blockstack. Currently however that is not possible.