1.4.0 • Published 5 years ago
ucom-libs-social-transactions v1.4.0
U°OS Application Transactions
Warning: this library has been deprecated
Please see this library: ucom.libs.wallet
Goal
This package is used to generate signed transactions related to different users actions.
Content type dictionary
| number | description | 
|---|---|
| 1 | Media post | 
| 2 | Post-offer | 
| 10 | Direct post (like a comment directly on user or on org) | 
| 11 | Repost of other post | 
| 3 | Comment | 
| 4 | Organization (Community) | 
Interaction type dictionary
| number | description | 
|---|---|
| 1 | Follow | 
| 5 | Unfollow | 
| 2 | Upvote (like) | 
| 4 | Downvote (dislike) | 
| 3 | Join (to the post-offer) | 
| 20 | Organization team invitation. Not implemented yet | 
Action name dictionary
| name | description | 
|---|---|
| usertouser | User to user interaction, for ex. follow | 
| makecontent | User makes content by himself (not by organization) | 
| makecontorg | Organization (organization member) makes content | 
| usertocont | User to content interaction, for ex. upvote | 
| dirpost | User creates direct post on other user | 
| dirpostorg | User creates direct post on organization | 
Workflow
- Call one of the methods and receive signed transaction.
- Send this transaction as is to backend server. Backend server will push this transaction to blockchain. Example:
body = {
// other request params
'signed_transaction': signed_transaction_string,
// other request params
}How to install:
npm i git+ssh://git@bitbucket.org/gravityprotocol/uos.app.transaction.git#latestUser to user transactions
User follows other user
const { TransactionFactory } = require('uos-app-transaction');
// Init for test env before doing any calls
TransactionFactory.initForTestEnv();
// In production call this method instead: TransactionFactory.initForProductionEnv(); 
(async () => {
  const senderAccountName = 'vlad';
  const senderActivePrivateKey = accountsData.vlad.activePk;
  const recipientAccountName = 'jane';
  const signed = await TransactionFactory.getSignedUserFollowsUser(
    senderAccountName,
    senderActivePrivateKey,
    recipientAccountName
  );
  
  const signed_transaction_string = JSON.stringify(signed);
  // Then send this value in request body
})();See also CONTRIBUTING for detailed project information.