https://github.com/janrockdev/simple-contract
Blueprint/Boilerplate For Golang Smart-Contract Hyperledger Projects
https://github.com/janrockdev/simple-contract
Last synced: over 1 year ago
JSON representation
Blueprint/Boilerplate For Golang Smart-Contract Hyperledger Projects
- Host: GitHub
- URL: https://github.com/janrockdev/simple-contract
- Owner: janrockdev
- License: apache-2.0
- Created: 2021-01-28T10:50:34.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2022-11-05T11:26:54.000Z (over 3 years ago)
- Last Synced: 2025-01-24T19:34:55.838Z (over 1 year ago)
- Language: Go
- Homepage:
- Size: 2.33 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Blueprint/Boilerplate For Golang Smart-Contract Hyperledger Projects
Version: 1.1
### Hyperledger deployment:
Run all from path: ~/fabric-samples/test-network:
```shell
# export PATH=/home/janrock/fabric-samples/bin:$PATH
export FABRIC_CFG_PATH=$PWD/../config/
export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="Org1MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
export CORE_PEER_ADDRESS=localhost:7051
```
(Second organisation)
```shell
# export PATH=/home/janrock/fabric-samples/bin:$PATH
export FABRIC_CFG_PATH=$PWD/../config/
export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="Org2MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
export CORE_PEER_ADDRESS=localhost:9051
```
Arguments: (TId, CId, TTs generated)
```
id (example: "7")
timestamp (example: "1623747164")
instrument (example: "XAU_USD")
size (example: "1.1")
side (example: "LONG")
price (example: "1900.4")
tp (example: "1930.4")
sl (example: "1890.4")
```
Create channel:
```shell
./network.sh up createChannel -c uni
```
Deploy chaincode(smart-contact) to channel:
```shell
sudo ./network.sh deployCC -ccn ob -ccp ../asset-transfer-basic/chaincode-ob -ccl go -c uni
```
Initialise Assets:
```shell
peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C uni -n ob --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"function":"InitLedger","Args":[]}'
```
Create Asset:
```shell
peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C uni -n ob --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"function":"CreateAsset","Args":["7","2000000000","XAU_USD","6.1","LONG","1900.4","1901","1899"]}'
```
Check Assets:
```shell
peer chaincode query -C uni -n ob -c '{"Args":["GetAllAssets"]}'
```
Search Asset (ID, first parameter of the struct):
```shell
peer chaincode query -C uni -n ob -c '{"Args":["ReadAsset","1"]}'
```
Delete Asset:
```shell
peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C uni -n ob --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"function":"DeleteAsset","Args":["7"]}'
```
Remove channel:
```shell
./network.sh down
```