not approved

PAAS - Smart Contract As a Service. A Quick and Low Cost Approach to Build dApps.

₳540,000.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Feasibility
Value for money
Impact / Alignment
Solution

We propose a smart contract as a service platform to publish verified Plutus scripts for multiple dApps to use by fetching platform APIs in time. Write once run anywhere.

PaasArchitecture-6f4110.png

Problem:

Develop a good smart contract is hard, many projects are stuck and failed at this step. We need a platform to provide quality Plutus scripts via network APIs that multiple dApps can fetch to use.

Yes Votes:
₳ 39,588,574
No Votes:
₳ 162,177,497
Votes Cast:
328

[IMPACT] Please describe your proposed solution.

<u>Current Cardano dApp building & execution model</u>

<u>dApp development</u>

  • Develop a Plutus or Marlowe smart contract as Cardano onChain code.
  • Compile Plutus or Marlowe source code to serialized Plutus script format.
  • Develop web3 part as offChain code to interact with onChain code.
  • Put it all to form a dApp that works with Cardano blockchain network.

<u>dApp execution</u>

Lock asset

  • Sender sends the amount of an asset to a smart contract address with datum data.
  • The locked asset is then locked at Cardano blockchain as an UTXO then waits for another user to unlock (spend).

Unlock asset (spend a locked UTXO)

  • A user builds and signs a transaction with attached plutus script, redeemer data then submit to Cardano node.
  • If the transaction is validated by plutus script then the locked amount of an asset will be sent to the receiver wallet otherwise the transaction will fail.

Currently each Cardano dApp project usually builds its own smart contract and web3 part to interact with plutus script for every transaction. These works are difficult with high risk that potentially leads the dApp project into failure. Many dApps projects are stuck at this step.

<u>Our motivations</u>

The possibilities to generalized plutus smart contract scripts then provide them as a service through APIs:

  • A plutus script validates a transaction through its validator logic with datum, redeemer and script context as params. This means we can generalize a smart contract for multi dApps to use at multi execution contexts.
  • A compiled serialized plutus script is a normal JSON object that is able to store in a document based database e.g mongo db then provider as a return of an API call with the same JSON format.

The benefit of having Plutus smart contract services to simplify the smart contract execution model for Cardano dApp by providing APIs for:

  • Plutus developers to register its common use dApps
  • dApp developers to use the registered plutus scripts via fetching contract APIs

<u>How it works</u>

A developer developed a Plutus smart contract script with validator logic that returns TRUE or FALSE if both of below conditions are validated:

  • The unlock transaction signer’s signature
  • The unlock transaction submit time with the given signature and deadline inside locked transaction’s datum.

This smart contract can be used in many contexts e.g:

  • Pay to the seller when the buyer receives goods from the shipper with an unlock transaction signed by the shipper.
  • Pay the salary to staff with an unlock transaction signed by the assigned admin.

The developer who developed this plutus script can register it as a JSON object to the PAAS platform for others reuse through API fetch.

The other developers who develop shipping and salary dApps then no need to develop its owned smart contract or even web3 part. They can call PAAS API: <https://paas.bworks.app/api/contracts/641005aa53053539eda273de>

The API will return a serialized plutus script:

{

"name": "ValidateSignerSignatureV2",

"address": "addr_***er73qh9c4kr5lh",

"cborhex": "5908c55908c201***011",

"description": "&lt;p>Plutus V2, validate unlock PKH&lt;/p>" }

This result is a JSON object that dApp uses every time it submits a lock or unlock (spend) transaction to Cardano network.

Note that the Marlowe code will also need compile to serialized Plutus script format before it can be used as onChain code. So the APIs will work for Marlowe similarly as Plutus smart contract.

Please see how it works with attached screenshoots of demo app at functions section.

<u>Architecture</u>

The project is designed with following 05 modules:

  • Backend APIs to provide REST endpoints for client requests and perform logics.
  • Microservices to handle system particular jobs e.g interact with Cardano nodes.
  • Developer frontend for plutus developer submit its plutus smart contract scripts.
  • CMS for admin to manage the platform overall.
  • Service subscriber frontend for users who want to use smart contract services.

architecture

<u>AppFlows</u>

<u>Submit a plutus script appFlow</u>

  • A developer register its own plutus smart contract as serialized script and source code github link
  • Describe datum and redeemer as a JSON object
  • Describe how script work with sample lock, unlock transactions and other extra information
  • Microservice then verifies the behavior of registered plutus script to confirm its validator logic and datum & redeemer data type.
  • The admin from the community then verifies the plutus script manually through our plutus verification web function.
  • Approve to list the registered script or reject to list it with feedback to developer

Note: Since it is impossible to read the logic with the serialized plutus script code. It is required to provide script public github code repo that lets microservice verify it comes from known source code and for the community to audit the contract.

pAssPublishScriptFlow-7cd032.png

<u>Get a plutus script appFlow</u>

dApp developer select a smart contract they want to use in his dApp

Fetch the smart contract through it public API to have return contains script address, cborHex

Develop web3 lock function (send asset to script address) with desire datum

Develop web3 unlock function (spend locked UTXO) with desire redeemer

Note: It is expected to have lock and unlock web3 components shipped with plutus script when the developer registers its script. However dApp developers can build its own component on top of Cardano Serialization Lib.

pAssWeb3PlutusTXFlow-5bac37.png

<u>Functions</u>

  • Plutus store manager:
  • Register a plutus script
  • Compile haskell plutus source code to serialized script
  • Verify serialized plutus script with given github haskell code
  • Verify behavior of a plutus script
  • Approve smart contract to list then available for dApp developer to use
  • Plutus service provider:
  • Fetching serialized plutus script through APIs to build dApp
  • Monitor transactions of plutus scripts
  • Rate the usage of scripts
  • Dynamic modeling datum and redeemer data type
  • Delegate unlock trusted partner
  • Fetch smart contract list and a single smart contract to use in dApp for every transaction
  • Payment to pay developers for his smart contract usage
  • Model base and global search
  • Report
  • Plutus script utilizing statistic, number of API calls and amounts
  • Lock and unlock transaction status
  • Dashboard

<u>Some demo screenshoots</u>

Dashboard

dashbard-90072a.png

Publish a script

publishAScript

Perform a web3 transaction

web3

completeTx

Transactions & reports

transactionReport-d9a448.png

plutusTxs-1fe780.png

<u>Features</u>

  • Freezed listed plutus script. This to make sure once a smart contract is listed and used by dApps it can not be changed since the change of plutus script may cause the scratch of dApps. The script developer has the right to provide another version only.
  • Multi cabal and plutus versions build tool
  • Dynamic modeling datum and redeemer data type
  • In app verify script behavior
  • Seamless applications
  • Email or Cardano wallet authentication

<u>Users</u>

  • Plutus developers. Who published its smart contracts
  • dApp developers. Who consume published smart contracts through APIs

<u>Business model</u>

PAAS is an open source platform. It provide both free and commercial services:

Free accounts:

  • Has permission to access simple smart contracts only
  • Less than 100 requests per a month

Commercial accounts:

  • Has no limit to access all listed smart contracts and web3 component on the platform
  • No requests limit
  • Have permission to request official support from developers

Revenue and expenses

The revenue from subscriber will be use to cover the expenses:

  • Operation & staffs cost
  • Pay to plutus & web3 developers who contribute scripts and codes.

The payment amount to a Plutus developer depends on the number of API calls to its published scripts.

<u>User acquisition</u>

Our user acquisition strategy will target users from two groups - within the Cardano community, and outside of Cardano at 2 different periods.

<u>At development and trial launch periods</u>

We will firstly target users from existing Cardano developers communities. We can reach them through Cardano community groups on Telegram, Twitter and Discord channels.

At this stage we aim to have around 50 paid and unpaid members to join the project. These members form an initial community who well understand project ideas for viral communication strategy at the next stage.

<u>After launch product period</u>

At this stage we will focus on users from Cardano communities and from outside, through user engagement, communication and campaigns.

  • User engagement
  • Through word of mouth
  • Through communication channels, github repo, and the product itself\
  • User acquisition through communication campaigns

The different campaigns are designed separately to solve problems with specific groups of users:

  • Users from Cardano communities: these users are friendly to Cardano technologies, so the campaigns will focus on our product features, functions and values
  • Non-Cardano developers: the campaigns will focus on the unique features of building on Cardano, and how b-Learn can help them transition from other developer environments
  • Crypto users: the campaigns focus on showing the advantages of Cardano and how the product solves problems through Cardano technologies e.g Plutus versus other chains e.g Ethereum.
  • Non crypto users: the campaigns focus on showing blockchain’s unique values versus traditional technologies.

The target is to have around 1000 users after 01 year launch the product. This includes around 400 users from the existing Cardano community and 600 users from outside.

<u>Conclusion</u>

The project central missions:

  • Offer alternative approach to build and run Cardano dApps with 30-50% lower cost:
  • Reduce the developer and time cost of building Cardano dApp by using available smart contracts and web3 parts.
  • Reduce running cost with pay as you go cost without maintaining smart contract and Cardano node.
  • Build dApps faster and better with available smart contracts and web3 components.
  • Grow Plutus and web3 developers and plutus smart contracts by having a place where they can submit their smart contracts then earn.

You can see the project as:

  • A smart contract verification and publication platform.
  • A platform to share serialized Plutus scripts.
  • The APIs to develop dApp without developing Plutus or Marlowe scripts.
  • The service for Plutus developers to promote their product and earn.

Through any above point of view our central missions are still the same: build dApp faster and easier with less cost.

By fulfilling above missions the project will result in growing Cardano developers and Cardano dApps.

<u>Note to PAs and readers</u>

Please contact our telegram to have demo credentials or if there is anything needs clarify: https://t.me/paasCardano

[IMPACT] How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?

<u>Solving the challenge</u>

<u>Infrastructure and tools to build Cardano dApps faster and better </u>

As a place where plutus developers can publish its scripts, then other dApps can use it via APIs. PAAS plays a role to become infrastructure to build dApps much faster and easier.

<u>Scale and standardize Cardano dApps</u>

With available smart contracts services developers can scale UP or DOWN its dApps just through the use of pay as go service APIs.

By using proven plutus smart contract scripts and web3 parts the platform helps to standardize Cardano dApps’s quality.

<u>Improve and grow the developer ecosystem </u>

The proposed method to build dApp lead the developer focused to work at the expertises they really good at:

  • Plutus developers focus on building smart contracts
  • Web3 developers focus on building its web3 component to interact with dAPp from the client side.
  • Application developers focus to build traditional parts of the dApps

The impact to dApp development process:

  • Remove the barrier that stops developers from building dApps by using the service with proven ones.
  • Reduce the time to build and launch dApps by using the service APIs instead of developing all.

Bring benefits to Cardano ecosystem from different point of view:

  • Attract more smart contract and web3 developers to Cardano as its works are paid and public appreciated through the usage of its smart contract API calls.
  • Encouraged more dApp projects are built on Cardano with a new approach and architecture.
  • The more dApps are created and adopted the more transactions on Cardano networks are created.

PAAS are smart contract infrastructure and tools to easier build and scale Cardano dApps. This solves the challenge directly and brings the benefits to Cardano ecosystem from some point of view.

[IMPACT] How do you intend to measure the success of your project?

The ultimate goal of this project is to offer an alternative approach to build Cardano web3 dApp much faster and easier with significantly lower cost. dApp developers need not to build its own smart contracts and web3 components, they can use services from PAAS to have available smart contracts for their dApps.

For detail KPIs please refer to "how will you validate if your approach is feasible" section.

<u> Measure the success of the project at development period</u>

  • All proposed functions and features are implemented and deployed.
  • The simplicity and the speed of application met defined KPIs.
  • System stability and security met defined KPIs.

<u>Measure the success of the project as a running product</u>

  • How it helps to build dApp faster and better :
  • The required hours a developer a dApp compare with normal processes that build it owned Plutus script and web3. We expected it to reduce 50% of time to build an dApp with API from PAAS.
  • How it helps to build and run dApp with lower cost:
  • The required engineering cost to build dApps with PAAS compared with normal processes.
  • The required running cost includes maintenance, infrastructure and operation costs.
  • Number of registered smart contract developers and published smart contract scripts:
  • Registered developers
  • Published plutus smart contract scripts
  • The validate logics that published smart contracts cover e.g validate time, validate address …
  • Number of published web3 components that help to build dApps with given plutus scripts.
  • Number of service subscribers:
  • Number of developers submit to use the service APIs
  • Number of dApps that use the services and its API requests.

This measured data will be public on the platform dashboard where everyone can have a look, feedback to improve:

dashbard-e3ab94.png

[IMPACT] Please describe your plans to share the outputs and results of your project?

<u>Communicate the project</u>

Our works, problems and outputs are always communicated across the process through public GitHub repo, staging server and checklist and documents:

  • Github commits show our works in term of source code
  • Github problems show community feedback and how developers work out.
  • Staging server where we deployed the latest code to test, shows the updated version of the product.
  • CheckList show what we are working on & its status
  • Screenshot folder capture the product screens for each code commit
  • Telegram channel to realtime communicate with the community and Catalyst.

<u>Track the project milestones</u>

The community can always keep track project activities, outputs, try the newest developed functions through the links:

Checklist: <https://docs.google.com/spreadsheets/d/1ILWSRlA5IBnSEU05vD63MH3nmdFNloXsWZAIUybbjL4/edit#gid=0>

App screenShoots: https://drive.google.com/drive/folders/1icI_jTJqdEp39-_N5GyZ6Y8iNdCBde72

GitHub: <https://github.com/saigonbitmaster/paas>

APIs: https://paas.bworks.app/api

CMS: <https://paas.bworks.app/cms>

WEB: <https://paas.bworks.app/web>

Through above resources the community can always track project works, timeline and commitment:

  • What tasks we are working on
  • Who is working on the task
  • The passed or failed result of a task or job.
  • How the code present product functions and features

<u>Give us your input</u>

Our GitHub is also open for the community to comment, and raise the issue about what feature or function they want to add to the product. By getting more comments from the community we will get the project out from the rut to be from community to community.

[CAPABILITY/ FEASIBILITY] What is your capability to deliver your project with high levels of trust and accountability?

<u>The required knowledges and experiences for this project</u>

  • General Cardano.
  • Cardano smart contract execution model.
  • Cardano web3 dApp and Plutus script integration.
  • The Build-sign-submit process for a Plutus transaction.
  • Develop and compile Haskell code with Plutus Tx compiler.
  • Online and web3 business.
  • User acquisition and engagement.
  • Marketing and community management.

<u>Team capacity </u>

The team consists of experienced and responsible members capable in various domains which are required to lead project into success:

  • Experienced Cardano web3, plutus smart contract engineers:
  • Well understand Cardano blockchain network and the execution model of Cardano smart contract.
  • Web3, wallets and Plutus script integration to perform Cardano transactions.
  • Capable of developing plutus smart contracts with complex validator logics.
  • Capable of developing Cardano web3 to interact with Cardano network to perform smart contracts.
  • Seasoned backend and frontend software, Cardano DevOps engineers
  • Operation, community and marketing people

Please reference our similar works with previous F8 Catalyst projects, all these projects have complete development stage and deployed for beta test:

  • bWorks - the seamless smart contract and Cardano web3 integration project
  • cReport - a community analytic application with Cardano web3 integration project

<u>Clear out uncertainties in advance</u>

The project is pioneering to provide a new approach for Cardano dApp developers therefore there will be uncertain things we have to address and clear out in advance e.g:

  • Serialized script store and provide through RESTFUL APIs with POST and GET methods.
  • Execute Cardano transaction model from client browser with fetched scripts via browser based Cardano wallets.

Please see the project gitHub where we committed code that <u>solved uncertainties.</u>

<u>Use simple and clear process</u>

  • Define clearly the main tasks and its subtasks.
  • Task management and checklist to show what we are working on and who is responsible for what.
  • Github commits to show the result of our work in terms of source code.
  • Staging server to show how our works ultimately result in terms of product features and functions.
  • Build-break-build cycle

Please see our demo and GitHub link:

https://docs.google.com/spreadsheets/d/1ILWSRlA5IBnSEU05vD63MH3nmdFNloXsWZAIUybbjL4/edit#gid=0 - project checklist

https://paas.bworks.app/web - plutus developer and dApp web app

https://paas.bworks.app/cms - cms

https://paas.bworks.app/api - API to fetch compiled scripts

We consist the team with responsible, capable members plus the clear process with most of the critical risks are cleared out in advance. We believe in delivering this project with high levels of trust and accountability as expected.

[CAPABILITY/ FEASIBILITY] What are the main goals for the project and how will you validate if your approach is feasible?

<u>Project main goals and how to validate its success:</u>

<u>Produced a successful platform as proposed</u>

  • Complete 100% functions, features, tasks with the high priority level.
  • Complete at least 80% of functions, features, tasks with low priority level.
  • All complete functions, features are tested internally and externally by the community.
  • Develop a set of Plutus smart contracts that cover some common usage cases.
  • Product are deployed and provide services through APIs

<u>System run stably, fast and secured</u>

  • Stability: uptime > 99.99 %. System recovery time &lt; 1 hour for incident case to make sure the availability of the service.
  • Speed of query API to get a script: &lt; 150 ms, average load time of the app &lt; 5 seconds.
  • Security:
  • Published smart contracts are freeze and have no way to change even admin.
  • Only authenticated users have the right to change their protected data.
  • Access API with attached JWT token with expired time and counted activity period.
  • Point of time for database recovery &lt; 1 hour, to limit data lost.

<u>From user point of view</u>

  • Plutus developers can publish its plutus smart contracts, share its values and earn money.
  • dApp developers can use services to build its dApp much faster and easier with lower cost estimated to reduce 50% of time and cost to build a dApp if they use PAAS services.
  • Published smart contracts with validators cover most of the usage cases, around 80% of validator types they can find from PAAS.
  • A team without Plutus and web3 developers can still build its dAapp with PAAS services.

<u>Success of marketing & community</u>

  • Acquired around 1000 developers to join the platform as plutus script publishers and dApp developers:
  • 400 developers from the current Cardano developer community, equivalent to 30% of members of the current Cardano developer community.
  • 600 developers from outside as they don't need to learn plutus and cardano web3 (which is very hard) to start building Cardano based dApps.
  • Build an active PAAS community where plutus developers can promote their scripts to others to use.

Why this number?

  • As seen there are around 2000 members in current developer communities. so estimated above number is reasonable.
  • Estimated with 20 experienced Plutus developers with 100 generalized Plutus scripts can cover most of validation cases in the real life.
  • The more users are dApp developers as it has no limit for people to build dApps they believe in.

<u>Success of business</u>

  • Around 100 serialized scripts are published and its validator can cover most of the application validator cases.
  • 30% of cardano smart contract transactions go through PAAS. Similar to blockFrost serve transaction and address APIs.
  • Paid subscribers are about 20% of current submitted users.

The bottom line is the project is validated to be successful when someone thinks about it first when they are considering to build a dApp on Cardano. That is what try to achieve.

[CAPABILITY/ FEASIBILITY] Please provide a detailed breakdown of your project’s milestones and each of the main tasks or activities to reach the milestone plus the expected timeline for the delivery.

Q2-2023

<u>Pre works. </u>

POC to verify the possibilities of selected technologies and capacity to implementation the approach

Develop a demo version of PAAS with main logics implemented:

  • Restful POST and GET serialized plutus script
  • Document style DB to store serialized plutus script
  • Execute fetched plutus object by web3 with chrome extension wallets
  • Develop few plutus scripts to test
  • Verify the working of main functions before proposal submission.

Setup environment

  • Github repo
  • Documentations
  • IDE

Proposal submission

Q3-2023

<u>Milestone-01. </u>

Project Initiation and Paper works

Time: Month 01. Budget: 50,000 Ada is equivalent to 8,6% of total requested budget.

(above cost including servers and project management cost for 11 months development stages)

System design with detail diagram and specifications

Define end user functions & system features

Establish project management processes including tasks, outputs and expected time to complete

Infrastructure provisioning for development including staging server, build and deployment tool.

Milestone-02.

<u>Develop Backend APIs & Microservices</u>

Time: Month 02-03. Budget: 130,000 Ada is equivalent to 22.4% of total requested budget

Common libraries & web components

DB schemas

Backend APIs

  • Plutus script APIs for plutus developers publish its scripts
  • Submit a serialized plutus script API
  • Upgrade version of a published serialized plutus script API
  • Plutus script APIs for web3 developers get to build dApps
  • Get list and get one of plutus scripts
  • Cardano transaction submitted APIs to record the transaction which made with published plutus scripts
  • Record the Cardano transaction which was made by a service account with published scripts and its status.
  • Record lock and unlock status of a transaction.
  • Report APIs
  • Dashboard APIs
  • Common CMS APIs
  • User APIs

Backend logics & microservices

  • Verified a serialized script with its accomplished github source code.
  • Interact with Cardano node to execute a Cardano CLI script with params.
  • Analytic services

Q4-2023

Milestone-03.

<u>Develop CMS frontend</u>

Time: Month 04-05. Budget: 75,000 Ada is equivalent to 13% of total requested budget

  • General admin management
  • Published scripts management
  • Verify the script validator logics
  • User management
  • Analytic and reports: published scripts, script transactions
  • Dashboard
  • Cardano Web3 for payment with Cardano asset (Ada)
  • Promotion function to run marketing events

<u>Milestone-04.</u>

Develop Plutus script publisher frontend

Time: Month 05-06. Budget: 75,000 Ada is equivalent to 13% of total requested budget

  • Publish a compiled serialized plutus script.
  • Flexible datum and redeemer datatype builder
  • View status of script verification and confirmation
  • Upgrade version of a published plutus script
  • Script consuming tracking
  • Dashboard

Q1-2024

Milestone-05.

<u>Service subscriber frontend</u>

Time: Month 07-08. Budget: 75,000 Ada is equivalent to 13% of total requested budget

  • List of published smart contracts and web3 components
  • Select a smart contract to build dApps
  • Tracking the usage of an account
  • Tracking transaction status, its output and status.
  • Dashboard.

Milestone-06.

<u>QA/QC test, feedback and improvement. Beta launch platform, trial users with key functions. </u>

Time: Month 09. Budget: 45,000 Ada is equivalent to 7,7% of total requested budget

  • Perform all function and feature test
  • Feedback, fix bugs and improvement loop until all is set.
  • Verify the working of key functions:
  • Publish plutus script for plutus developers
  • Submit service and use APIs to build dApps for dAPp developers
  • Real Time monitoring the Cardano transactions make through platform

Q2-2024

Milestone-07.

<u>Initial list of Plutus script</u>

Time: Month 10. Budget: 55,000 Ada is equivalent to 9,5% of total requested budget

  • Develop a list of plutus scripts to init the platform and its web3 component for dApp at client side
  • User guide, code examples and cli scripts for published init plutus scripts

Milestone-08.

<u>Launch platform</u>

Time: Month 11. Budget: 105,000 Ada is equivalent to 18.1% of total requested budget

  • User acquisition and engagement

  • Plutus scripts and web3 components publish from outside Plutus developers

  • dApp developers service account subscriber to build dApps.

  • Platform improvement

  • Put the platform to fully operation mode:

  • Run marketing campaigns

  • System operation & improvement

    [CAPABILITY/ FEASIBILITY] Please describe the deliverables, outputs and intended outcomes of each milestone.

Note: "defined functions and features" meant the lists of functions and features which are defined in the previous milestone section.

Q2-2023

Pre works

POC to verify the possibilities of selected technologies and capacity to implementation the approach

Deliverables, outputs and intended outcomes

The serialized Plutus script is able to fetch through API:

Get list of smart contracts:

<https://paas.bworks.app/api/contracts/getall>

Get one smart contract to use in a dApp with its id:

https://paas.bworks.app/api/contracts/637a3b56862d272080a834cb

Dev environment, github and staging servers are and ready to go:

Q3-2023

Milestone-01.

<u>Project Paper works</u>

Time: Month 01.

  • System design with detail diagram and specifications
  • Define end user functions & system features.
  • All project management processes are define with accompanied documents including tasks, expected outputs and expected time to complete.
  • Development environment is all set including staging servers, domains, build & deploy tools.

Milestone-02.

<u>Develop Backend APIs & Microservices</u>

Time: Month 02-03.

  • All common libraries and components are developed and ready to use across the project e.g the smart contract lock and unlock component, fetch libraries.
  • All db schemas are designed and verified.
  • All APIs are developed and available to use by fetching its endpoints
  • Backend logics & microservices are developed and ready to integrate to the backend e.g validate source code for a given serialized plutus script.
  • All the APIs deployed and ready to use for frontend app to fetch through internet:

<https://paas.bworks.app/api/>

Community can verify the works of APIs by try POST, GET its endpoints e.g:

https://paas.bworks.app/api/contracts/getall

Q4-2023

Milestone-03.

<u>Develop CMS frontend</u>

Time: Month 04-05.

The CMS frontend defined web, web3 functions and features are developed, tested and deployed to staging server for QA/QC to test at: <https://paas.bworks.app/cms>

Milestone-04.

<u>Develop Plutus script publisher frontend</u>

Time: Month 05-06.

The Develop Plutus script publisher frontend is developed and deployed to staging server for QA/QC to test with functions:

  • url: <https://paas.bworks.app/web>
  • Publish a compiled serialized plutus script.
  • Flexible datum and redeemer datatype builder
  • View status of script verification and confirmation
  • Upgrade version of a published plutus script
  • Script consuming tracking
  • Dashboard

Q1-2024

Milestone-05.

<u>Service subscriber frontend</u>

Time: Month 07-08.

The Service subscriber frontend is developed and deployed to staging server for QA/QC to test at: https://paas.bworks.app/web with functions:

  • List of published smart contracts and web3 components
  • Select a smart contract to build dApps
  • Tracking the usage of an account
  • Tracking transaction status, its output and status.
  • Dashboard.

Milestone-06.

<u>QA/QC feedback & improvement. Beta launch platform, trial users with key functions </u>

Time: Month 09.

Performed the QA/QC test for all developed functions and features result out the checklist at: <https://docs.google.com/spreadsheets/d/1ILWSRlA5IBnSEU05vD63MH3nmdFNloXsWZAIUybbjL4/edit#gid=0>

Fixed bugs and improvement with inputs from the checklist .

Putting it all together and deploying the project to AWS. The community can try the defined functions, APIs, logics through the internet:

<https://paas.bworks.app/web> - subscriber frontend

<https://paas.bworks.app/contributor> - contributor frontend

<https://paas.bworks.app/api> - paas APIs

Select 20 users as trial users to try platform functions and features to have feedback. Improve the functions, features based on the feedback before release.

Q2-2024

Milestone-07.

<u>Initial list of Plutus script </u>

Time: Month 10.

Developed a list of plutus scripts to init the platform and its web3 component for dApp at client side

User guide, code examples and cli scripts for published init plutus scripts are available to use with some validator functions:

  • Validate signature
  • Validate transaction date
  • Validate receiver address
  • Mint token

Milestone-08.

<u>Launch platform</u>

Time: Month 11.

The platform is deployed to AWS in a production environment with fully defined functions. It is available for usage.

  • Contributor can:
  • Publish a compiled script
  • Publish web3 component accompany with the published scripts
  • Contributor can:
  • Fetch a script to use in their dApp
  • Track the transaction its dApp used
  • Administrator can:
  • Approve, disApprove to publish a registered scripts
  • Verify the script validators
  • Oversee the platform performance e.g number of published scripts, transactions …
  • Platform runs smoothly with less downtime. Expected 99.9% uptime.

User acquisition and engagement

  • Run communication campaigns and events to acquire users to the joint platform as contributor, developers.

  • We target around 1000 users to join the platform for 1 year launch product: 100 plutus developers and 900 dApp developers as service subscribers.

  • The communication channels are active to handle user’s inquiries.

    [RESOURCES & VALUE FOR MONEY] Please provide a detailed budget breakdown of the proposed work and resources.

Total requested budget: 580,000 Ada

(five hundred eighty thousand Ada)

<u>Project cost structure </u>

The proposed budget includes the following types of costs:

<u>Internal cost </u>

  • Engineering cost to pay software, devOps and research engineers.
  • Project management cost to pay project manager and coordinator.
  • Communication, marketing and operation cost.

<u>External cost</u>

  • Infrastructure cost: pay AMAZON infrastructure services.
  • Marketing campaigns and events cost: pay google ads, facebook, twitter and others to acquire users.
  • Cost to pay Plutus developers to have a list of smart contracts to init the platform.

Q3-2023

Milestone-01.

<u>Project Initiation and Paper works</u>

Time: Month 01. Budget: 11.1% of requested budget is equivalent to 50,000 Ada

Estimated 90 work hours at cost 100 Ada per hour, 1700 Ada per month for project management and coordination.

  • System design with detail diagram and specifications: 4,000 Ada.
  • Define end user functions & system features: 5,000 Ada.
  • 03 EC2 servers for 11 months development periods: 22,000 Ada.
  • Project management cost for 11 months development period: 19,000 Ada.

Note: The cost for staging servers is not a one-time cost. we have to arrange across the development period.

Milestone-02.

<u>Develop Backend APIs & Microservices</u>

Time: Month 02-04. Budget: 130,000 Ada is equivalent to 22.4% of total requested budget

Estimated 1300 work hours at cost 100 Ada per hour for 04 developers work in 03 months.

Common libraries & web components: 15,000 Ada.

DB schemas: 10,000 Ada.

Backend APIs: 70,000 Ada.

  • Plutus script APIs for plutus developers publish its scripts: 8,000 Ada.
  • Submit a serialized plutus script API
  • Upgrade version of a published serialized plutus script API
  • Plutus script APIs for web3 developers get to build dApps: 12,000 Ada.
  • Get list and get one of plutus scripts
  • Cardano transaction submitted APIs to record the transaction which made with published plutus scripts: 12,000 Ada.
  • Record the Cardano transaction which was made by a service account with published scripts and its status.
  • Record lock and unlock status of a transaction.
  • Report APIs: 18,000 Ada.
  • Dashboard APIs: 10,000 Ada.
  • Common CMS APIs: 12,000 Ada.
  • User APIs: 18,000 Ada.

Backend logics & microservices: 35,000 Ada.

  • Verified a serialized script with its accomplished github source code: 15,000.
  • Interact with Cardano node to execute a Cardano CLI script with params: 15,000.
  • Analytic services: 5,000 Ada.

Q4-2023

Milestone-03.

<u>Develop CMS frontend</u>

Time: Month 04-05. Budget: 75,000 Ada is equivalent to 13% of total requested budget

Estimated 750 work hours at cost 100 Ada per hour, for 03 developers work in 02 months.

  • General admin management: 8,000 Ada.
  • Published scripts management: 12,000 Ada.
  • Verify the script validator logics: 12,000 Ada.
  • User management: 8,000 Ada.
  • Analytic and reports: published scripts, script transactions: 8,000 Ada.
  • Dashboard: 8,000 Ada.
  • Cardano Web3 for payment with Cardano asset (Ada): 10,000 Ada.
  • Promotion function to run marketing events: 9,000 Ada.

<u>Milestone-04.</u>

Develop Plutus script publisher frontend

Time: Month 05-06. Budget: 75,000 Ada is equivalent to 13% of total requested budget

Estimated 750 work hours at cost 100 Ada per hour, for 03 developers work in 02 months.

  • Publish a compiled serialized plutus script: 15,000 Ada.
  • Flexible datum and redeemer datatype builder: 15,000 Ada.
  • View status of script verification and confirmation: 15,000 Ada.
  • Upgrade version of a published plutus script: 15,000 Ada.
  • Script consuming tracking: 5,000 Ada.
  • Dashboard: 10,000 Ada.

Q1-2024

Milestone-05.

<u>Service subscriber frontend</u>

Time: Month 07-08. Budget: 75,000 Ada is equivalent to 13% of total requested budget

Estimated 750 work hours at cost 100 Ada per hour, for 03 developers work in 02 months.

  • List of published smart contracts and web3 components: 10,000 Ada.
  • Select a smart contract to build dApps: 10,000 Ada.
  • Tracking the usage of an account: 15,000 Ada.
  • Tracking transaction status, its output and status: 15,000 Ada.
  • Reports: 10,000 Ada.
  • Dashboard: 15,000 Ada.

Milestone-06.

<u>QA/QC test, feedback and improvement. Beta launch platform, trial users with key functions.</u>

Time: Month 09. Budget: 45,000 Ada is equivalent to 7,7% of total requested budget

Estimated 450 work hours at cost 100 Ada per hour, for 06 developers and QA/QC work in 01 months.

  • Perform all function and feature test: 15,000 Ada.
  • Feedback, fix bugs and improvement loop until all is set: 20,000 Ada.
  • Verify the working of key functions 10,000 Ada:
  • Publish plutus script for plutus developers
  • Submit service and use APIs to build dApps for dApp developers
  • Real Time monitoring the Cardano transactions make through platform

Q2-2024

Milestone-07.

<u>Initial list of Plutus script</u>

Time: Month 10. Budget: 55,000 Ada is equivalent to 9,5% of total requested budget

This to pay to have at least 05 Plutus scripts and web3 sample code with different validator logics, estimated 5,500 Ada per a script.

  • Develop a list of Plutus scripts to init the platform and its web3 component for dApp at client side: 35,000 Ada.
  • User guide, code examples and cli scripts for published init Plutus scripts: 20,000 Ada.

Milestone-08.

<u>Launch platform</u>

Time: Month 11. Budget: 105,000 Ada is equivalent to 18.1% of total requested budget

This cost to pay for the infrastructure cost for 01 year toward after launch. Pay for social and internet advertising campaigns to acquire around 1000 users. And for 04 staffs work for a year after launch.

  • User acquisition and engagement: 30,000

  • Pay to external Plutus scripts and web3 components publish from outside Plutus developers: 30,000

  • Platform improvement: 20,000

  • Put the platform to fully operation mode 25,000:

  • Run marketing campaigns

  • System operation & improvement

    [RESOURCES & VALUE FOR MONEY] Who is in the project team and what are their roles?

Team up the responsible members that capable to work on particular domains required by the project:

  • Seasoned software engineers
  • Practical cardano Plutus and web3 developers.
  • DevOps with Cardano experiences
  • Community, marketing people.
  • Online and web3 business people.

The members have proven work tracks with knowledges and experiences across:

  • General Cardano.
  • Cardano smart contract execution model.
  • Cardano web3 dApp and Plutus script integration.
  • The Build-sign-submit process for a Plutus transaction.
  • Develop and compile Haskell code with Plutus Tx compiler.
  • Online and web3 business.
  • User acquisition and engagement.
  • Marketing and community management.

<u>List of members:</u>

1-Thang Tran

GitHub: <https://github.com/saigonbitmaster>

Software expert, practical Plutus smart contract & web3 engineer and engineering manager.

Roles: Product designer, engineering and project manager. Full stack and Cardano developer.

Responsibilities:

Product design & implementation.

  • Overall project development and operation.
  • Plutus smart contract and web3 developer.
  • Backend and frontend developer.

2-June Akra

Financial Market expert, we3 business, Challenge Team Fund 7- Fund 10, Plutus and Atala Pioneer.

Telegram: <https://t.me/JuneA>

Roles: Community builder, campaigner

Responsibilities:

  • Foster engagement & active participation with the community
  • Educate and support members on tutorials, documentation & onboarding
  • Driving community growth and provide updates to the community

3-Thang Vu

Senior software and web3 developer.

<https://github.com/vmthang>

Roles: Web3 and backend developer.

Responsibilities:

  • Implement web3 part of the project.
  • Develop backend APIs, logic and Microservice

4-Thanh Ngoc

Senior full stack and database developer.

<https://www.linkedin.com/in/ngocthanhit/>

Roles: Full stack developer.

Responsibilities:

  • Database design and Implement.
  • Develop backend APIs, logic and Microservice.
  • Develop frontend functions and features.

5-Bao Dinh

Senior full stack developer.

<https://gitlab.com/baolue>

Roles: Fullstack developer.

Responsibilities:

  • Database design and Implement.
  • Develop backend APIs, logic and Microservice.
  • Develop frontend functions and features.

6-Thanh Nguyen

Senior full stack engineer

Linkedin: https://www.linkedin.com/in/congthanh-nguyen-b152361a0

GitHub: https://github.com/makotovnjp

Roles: Fullstack developer.

Responsibilities:

  • Database design and Implement.
  • Develop backend APIs, logic and microservice.
  • Develop frontend functions and features.

7-Oanh Ngo

Experienced QA/QC leader.

Linkedin: https://www.linkedin.com/in/oanh-ngo-06b331100

Role: QA/QC leader

Responsibilities: QA/QC leader, develop test scripts.

8-Xo Nguyen

Senior full stack developer.

<https://github.com/hongxo>

Roles: Full stack developer.

Responsibilities:

Develop backend APIs, logics.

Develop frontend functions and features.

9-Chuong Pham

Senior devOps and experienced Cardano engineer.

<https://github.com/jackchuong>

Roles: devOps engineer.

Responsibilities: Develop cardano scripts, product build and deployment.

10-Dung Phan

Senior infrastructure engineer.

<https://www.linkedin.com/in/phan-d%C5%A9ng-6682b5245/>

Roles: devOps engineer.

Responsibilities: System provisioning and operation.

11-Thanh Luu

Professional online marketing and customer service manager

<https://www.linkedin.com/in/thanh-luu-354409257>

Roles: Marketing and community.

Responsibilities: Product promotion, user acquisition and engagement.

12-David do

Professional social marketing and online business manager

<https://www.linkedin.com/in/david-do-0bb52b283/>

Roles: Marketing and community.

Responsibilities: Product promotion, user acquisition and engagement.

And other resources that hire through https://www.bworks.app

Reference Cardano projects we did:

bWorks seamless smart contract HR platform, complete development already, running on trial mode:

<https://www.bworks.app>

<https://www.bworks.app/milestones>

https://github.com/saigonbitmaster/bworks_2.0

<https://github.com/saigonbitmaster/bworks-smart-contracts>

cReports, catalyst audit with web3 implemented, launched at:

<https://creport.bworks.app>

https://github.com/saigonbitmaster/creport_2.0

[RESOURCES & VALUE FOR MONEY] How does the cost of the project represent value for money for the Cardano ecosystem?

We understand the importance of using funds properly and effectively to make sure every payout has its return and the project will not run out of budget.

<u>Cost optimization strategies </u>

In software development

  • Use open source components, libraries and frameworks to avoid the license cost.
  • Genelize code to reduce the cost of duplication works across modules.
  • Reuse the technologies, libraries and frameworks from Cardano ecosystem e.g MeshJs, BlockFrost to reduce the cost to develop the parts that others did well already.
  • Reuse the technologies, libraries, logics and code from our previous Cardano projects e.g bWorks, cReports this to reduce the cost to develop the parts that we did already.

In human resource

  • Team up the responsible and productive members. Form an unstructured and no bias team to let members take maximum ownership and be responsible for the works they are good at.
  • Less the middle activities e.g meetings, management and more direct work to motivate the team into highest possible performance and outputs.
  • With clear objectives of milestones and tasks it is ensured every ADA pays to have value outputs.

In operation

As stated in the impact section we intend to run the services for free for at least one year. Within this period we have to pay various of expense include:

  • AWS infrastructure cost
  • Operation and marketing cost
  • Development cost to improve the product

Platform will operate by internal resources with contributed works from the community. Reduce hardware cost by optimizing the source code and using some techniques e.g docker, serverless.

Conclusion

By using the fund effectively and efficiently that every ADA pays for a counted return it presents the best value for money for the Cardano ecosystem.

Note

As we are a flat and global team with members from Europe, Japan, Singapore and Vietnam it is not possible to provide the average local wage. But estimated cost per a work hour is around 100 ada.

Community Reviews (1)

Comments

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00