RFP Pallet
November 24, 2022 · View on GitHub
RFP Pallet Setup and Testing Guide (Ubuntu)
Prerequisite Setup
Install Dependencies
sudo apt install build-essential
sudo apt install -y git clang curl libssl-dev llvm libudev-dev
Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source ~/.cargo/env
rustup default stable
rustup update stable
rustup update nightly
rustup install nightly-2022-09-19
rustup override set nightly-2022-09-19
rustup target add wasm32-unknown-unknown
rustup target add wasm32-unknown-unknown --toolchain nightly
Deploy a Local Ventur Node
Fetch the code
The following command pulls the ventur-node code from our github repo:
git clone https://github.com/PopularCoding/ventur
cd ventur
Run the node
The following command builds the node. (This may take some time):
cargo run --release -- --dev
Run Unit Tests
Unit tests can be run locally using the following command:
cargo test
Manual Test Guide
1. Start the node
cargo run --release -- --dev
| Running your local node |
|---|
![]() |
2. Access the Node through the polkadot.js.org interface
Once you have a ventur node running locally, follow this link: https://polkadot.js.org/apps/?rpc=ws://127.0.0.1:9944#/explorer
| Accessing your Development Node Endpoint in polkadot.js.org |
|---|
![]() |
Confirm that you can see the recent blocks listed. If you are not able to access the block explorer on polkadot.js.org, you should:
-
Confirm that your Ventur node is running
-
Check if your Ventur node is running the JSON-RPC WS server on an address and port other than
127.0.0.1:9944a. If your node is running on a different address and port, update the custom endpoint in polkadot.js.org to the address and port number your node is servingSetting your Development Node Endpoint in polkadot.js.org 
-
Navigate to Developer → Extrinsics
3. Testing the RFP Extrinsics
Create an RFP
| Creating An RFP |
|---|
![]() |
-
Navigate to the
createRFPextrinsic -
Select your RFP owner and input an RFP ID
-
Input the RFP IPFS Content Identifier (CID). This is a hash referring to the address based on the stored content. Modifying the contents stored in IPFS will modify the CID itself. More details can be found here. If you don't have your own CID, for testing purposes, feel free to use this dummy CID:
bafkreidgvpkjawlxz6sffxzwgooowe5yt7i6wsyg236mfoks77nywkptdq -
Click on the
Submit Transactionbutton. -
If you try to create an RFP another RFP with the same parameters, you'll see the transaction fail:
| Re-Creating An RFP |
|---|
![]() |
Updating an RFP
Instead, you can modify the RFP using the updateRFP extrinsic:
- Make sure you submit the correct owner and
rfpId, otherwise the transaction will fail:
| Updating An RFP That Doesn't Exist |
|---|
![]() |
- Add your updated CID, and click
Submit Transaction:
| Update An RFP |
|---|
![]() |
Bid On RFP
Once you're ready to bid on an RFP, navigate to the bidOnRFP extrinsic
- Input the RFP Owner Id
- Input an existing RFPId
- Input a unique Bid Id
- Fill in the bid details, including the owner of the bid, the CID of the the bid stored in IPFS, and the proposed Payment Amount associated with the bid
- Click on
Submit Transaction
| Bid On An RFP |
|---|
![]() |
Update A Bid
If you've found yourself updating your bid details in IPFS, you'll have generated a new CID for that bid. To update the details in storage, navigate to the updateRFPBid extrinsic.
- Fill in the correct
rfpId,bidId, and the updated bid details. - Click
Submit Transaction
| Update a Bid |
|---|
![]() |
Shortlist A Bid
You won't be able to accept a bid before shortlisting, so in order to shortlist an exsting bid, navigate to the shortlistBid extrinsic.
- Select the appropriate RFP Owner
- Fill in the fields for the
rfpIdandbidId - Click
Submit Transaction
| Shortlist a Bid |
|---|
![]() |
Accept A Bid
Finally, you can now accept a bid for your RFP. Navigate to the acceptRfpBid extrinsic
- Select the appropriate RFP Owner
- Fill in the fields for the
rfpIdand thebidId - Fill out all the payment details associated with the accepting of this RFP Bid
- Click
Submit Transaction
| Accepting a Bid |
|---|
![]() |
Claiming A Payment
You can now even claim your first payment if you've filled out your payment details correctly. Navigate to the payments pallet and the claim extrinsic.
- Select the claimant of the plaiment as the actor
- Fill in the
payerIdand thepaymentId - Click
Submit Transaction
| Claiming A Payment |
|---|
![]() |










