Add supporty to create supports
Update lbry.go dep to get lbrycrd commands
This commit is contained in:
parent
577411cf50
commit
bacb91e82a
9 changed files with 79 additions and 19 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,4 +1,5 @@
|
||||||
bin/
|
bin/
|
||||||
e2e/persist
|
e2e/persist
|
||||||
|
e2e/supporty/supporty
|
||||||
.env
|
.env
|
||||||
blobsfiles
|
blobsfiles
|
|
@ -21,7 +21,7 @@ services:
|
||||||
## Wallet Server ##
|
## Wallet Server ##
|
||||||
###################
|
###################
|
||||||
walletserver:
|
walletserver:
|
||||||
image: lbry/wallet-server:v0.39.2
|
image: lbry/wallet-server:v0.39.3
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
- DB_DIRECTORY=/database
|
- DB_DIRECTORY=/database
|
||||||
|
@ -47,7 +47,7 @@ services:
|
||||||
## Lbrynet ##
|
## Lbrynet ##
|
||||||
#############
|
#############
|
||||||
lbrynet:
|
lbrynet:
|
||||||
image: lbry/lbrynet:v0.39.2
|
image: lbry/lbrynet:v0.39.3
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
- "15100:5279"
|
- "15100:5279"
|
||||||
|
@ -93,14 +93,13 @@ services:
|
||||||
depends_on:
|
depends_on:
|
||||||
- mysql
|
- mysql
|
||||||
- lbrycrd
|
- lbrycrd
|
||||||
- lbrynet
|
|
||||||
environment:
|
environment:
|
||||||
- MYSQL_DSN=lbry:lbry@tcp(mysql:3306)/lbry
|
- MYSQL_DSN=lbry:lbry@tcp(mysql:3306)/lbry
|
||||||
- LBRYCRD_CONNECT=rpc://lbry:lbry@lbrycrd:29245
|
- LBRYCRD_CONNECT=rpc://lbry:lbry@lbrycrd:29245
|
||||||
- MYSQL_USER=lbry
|
- MYSQL_USER=lbry
|
||||||
- MYSQL_PASS=lbry
|
- MYSQL_PASS=lbry
|
||||||
- MYSQL_DATABASE=lbry
|
- MYSQL_DATABASE=lbry
|
||||||
entrypoint: wait-for-it -t 0 mysql:3306 -- wait-for-it -t 0 lbrynet:5279 -- ./latest serve
|
entrypoint: wait-for-it -t 0 mysql:3306 -- wait-for-it -t 0 lbrycrd:29245 -- ./latest serve
|
||||||
######################
|
######################
|
||||||
## MySQL Chainquery ##
|
## MySQL Chainquery ##
|
||||||
######################
|
######################
|
||||||
|
|
15
e2e/e2e.sh
15
e2e/e2e.sh
|
@ -4,6 +4,8 @@ set -e
|
||||||
|
|
||||||
#Always compile ytsync
|
#Always compile ytsync
|
||||||
make
|
make
|
||||||
|
#Always compile supporty
|
||||||
|
cd e2e/supporty && make && cd ../..
|
||||||
|
|
||||||
#OVERRIDE this in your .env file if running from mac. Check docker-compose.yml for details
|
#OVERRIDE this in your .env file if running from mac. Check docker-compose.yml for details
|
||||||
export LOCAL_TMP_DIR="/var/tmp:/var/tmp"
|
export LOCAL_TMP_DIR="/var/tmp:/var/tmp"
|
||||||
|
@ -55,11 +57,12 @@ echo "successfully started..."
|
||||||
status=$(mysql -u lbry -plbry -ss -D lbry -h "127.0.0.1" -P 15500 -e 'SELECT status FROM youtube_data WHERE id=1')
|
status=$(mysql -u lbry -plbry -ss -D lbry -h "127.0.0.1" -P 15500 -e 'SELECT status FROM youtube_data WHERE id=1')
|
||||||
videoStatus=$(mysql -u lbry -plbry -ss -D lbry -h "127.0.0.1" -P 15500 -e 'SELECT status FROM synced_video WHERE id=1')
|
videoStatus=$(mysql -u lbry -plbry -ss -D lbry -h "127.0.0.1" -P 15500 -e 'SELECT status FROM synced_video WHERE id=1')
|
||||||
videoClaimID=$(mysql -u lbry -plbry -ss -D lbry -h "127.0.0.1" -P 15500 -e 'SELECT claim_id FROM synced_video WHERE id=1')
|
videoClaimID=$(mysql -u lbry -plbry -ss -D lbry -h "127.0.0.1" -P 15500 -e 'SELECT claim_id FROM synced_video WHERE id=1')
|
||||||
|
videoClaimAddress=$(mysql -u lbry -plbry -ss -D chainquery -h "127.0.0.1" -P 15600 -e 'SELECT claim_address FROM claim WHERE id=2')
|
||||||
# Create Supports for published claim
|
# Create Supports for published claim
|
||||||
curl --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"supportclaim","params":["@BeamerTest","'${videoClaimID}'",1.0]}' -H 'content-type:text/plain;' --user lbry:lbry http://localhost:15200
|
./supporty/supporty @BeamerTest "${videoClaimID}" "${videoClaimAddress}" lbrycrd_regtest 1.0
|
||||||
curl --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"supportclaim","params":["@BeamerTest","'${videoClaimID}'",2.0]}' -H 'content-type:text/plain;' --user lbry:lbry http://localhost:15200
|
./supporty/supporty @BeamerTest "${videoClaimID}" "${videoClaimAddress}" lbrycrd_regtest 2.0
|
||||||
curl --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"supportclaim","params":["@BeamerTest","'${videoClaimID}'",3.0]}' -H 'content-type:text/plain;' --user lbry:lbry http://localhost:15200
|
./supporty/supporty @BeamerTest "${videoClaimID}" "${videoClaimAddress}" lbrycrd_regtest 3.0
|
||||||
curl --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"supportclaim","params":["@BeamerTest","'${videoClaimID}'",3.0]}' -H 'content-type:text/plain;' --user lbry:lbry http://localhost:15200
|
./supporty/supporty @BeamerTest "${videoClaimID}" "${videoClaimAddress}" lbrycrd_regtest 3.0
|
||||||
curl --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"generate","params":[1]}' -H 'content-type:text/plain;' --user lbry:lbry http://localhost:15200
|
curl --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"generate","params":[1]}' -H 'content-type:text/plain;' --user lbry:lbry http://localhost:15200
|
||||||
# Reset status for tranfer test
|
# Reset status for tranfer test
|
||||||
mysql -u lbry -plbry -ss -D lbry -h "127.0.0.1" -P 15500 -e "UPDATE youtube_data SET status = 'queued' WHERE id = 1"
|
mysql -u lbry -plbry -ss -D lbry -h "127.0.0.1" -P 15500 -e "UPDATE youtube_data SET status = 'queued' WHERE id = 1"
|
||||||
|
@ -70,12 +73,14 @@ curl -i -H 'Accept: application/json' -H 'Content-Type: application/json' 'http:
|
||||||
# ALSO CHECK THAT VIDEO IS MARKED TRANSFERRED
|
# ALSO CHECK THAT VIDEO IS MARKED TRANSFERRED
|
||||||
channelTransferStatus=$(mysql -u lbry -plbry -ss -D lbry -h "127.0.0.1" -P 15500 -e 'SELECT transfer_state FROM youtube_data WHERE id=1')
|
channelTransferStatus=$(mysql -u lbry -plbry -ss -D lbry -h "127.0.0.1" -P 15500 -e 'SELECT transfer_state FROM youtube_data WHERE id=1')
|
||||||
videoTransferStatus=$(mysql -u lbry -plbry -ss -D lbry -h "127.0.0.1" -P 15500 -e 'SELECT transferred FROM synced_video WHERE id=1')
|
videoTransferStatus=$(mysql -u lbry -plbry -ss -D lbry -h "127.0.0.1" -P 15500 -e 'SELECT transferred FROM synced_video WHERE id=1')
|
||||||
if [[ $status != "synced" || $videoStatus != "published" || $channelTransferStatus != "2" || $videoTransferStatus != "1" ]]; then
|
nrUnspentSupports=$(mysql -u lbry -plbry -ss -D chainquery -h "127.0.0.1" -P 15600 -e 'SELECT COUNT(*) FROM chainquery.support INNER JOIN output ON output.transaction_hash = support.transaction_hash_id AND output.vout = support.vout WHERE output.is_spent = 0')
|
||||||
|
if [[ $status != "synced" || $videoStatus != "published" || $channelTransferStatus != "2" || $videoTransferStatus != "1" || $nrUnspentSupports != "0" ]]; then
|
||||||
echo "~~!!!~~~FAILED~~~!!!~~"
|
echo "~~!!!~~~FAILED~~~!!!~~"
|
||||||
echo "Channel Status: $status"
|
echo "Channel Status: $status"
|
||||||
echo "Video Status: $videoStatus"
|
echo "Video Status: $videoStatus"
|
||||||
echo "Channel Transfer Status: $channelTransferStatus"
|
echo "Channel Transfer Status: $channelTransferStatus"
|
||||||
echo "Video Transfer Status: $videoTransferStatus"
|
echo "Video Transfer Status: $videoTransferStatus"
|
||||||
|
echo "Nr Unspent Supports: $nrUnspentSupports"
|
||||||
#docker-compose logs --tail="all" lbrycrd
|
#docker-compose logs --tail="all" lbrycrd
|
||||||
#docker-compose logs --tail="all" walletserver
|
#docker-compose logs --tail="all" walletserver
|
||||||
#docker-compose logs --tail="all" lbrynet
|
#docker-compose logs --tail="all" lbrynet
|
||||||
|
|
12
e2e/supporty/Makefile
Normal file
12
e2e/supporty/Makefile
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
BINARY=supporty
|
||||||
|
|
||||||
|
DIR = $(shell cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd)
|
||||||
|
BIN_DIR = ${DIR}
|
||||||
|
|
||||||
|
.PHONY: build clean test lint
|
||||||
|
.DEFAULT_GOAL: build
|
||||||
|
|
||||||
|
|
||||||
|
build:
|
||||||
|
mkdir -p ${BIN_DIR} && CGO_ENABLED=0 go build -asmflags -trimpath=${DIR} -o ${BIN_DIR}/${BINARY} supporty.go
|
||||||
|
chmod +x ${BIN_DIR}/${BINARY}
|
43
e2e/supporty/supporty.go
Normal file
43
e2e/supporty/supporty.go
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"github.com/lbryio/ytsync/util"
|
||||||
|
|
||||||
|
"github.com/sirupsen/logrus"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
if len(os.Args) != 6 {
|
||||||
|
logrus.Info(strings.Join(os.Args, ","))
|
||||||
|
logrus.Fatal("Not enough arguments: name, claimID, address, blockchainName, claimAmount")
|
||||||
|
}
|
||||||
|
println("Supporty!")
|
||||||
|
lbrycrd, err := util.GetLbrycrdClient(os.Getenv("LBRYCRD_STRING"))
|
||||||
|
if err != nil {
|
||||||
|
logrus.Fatal(err)
|
||||||
|
}
|
||||||
|
if lbrycrd == nil {
|
||||||
|
logrus.Fatal("Lbrycrd Client is nil")
|
||||||
|
}
|
||||||
|
amount, err := strconv.ParseFloat(os.Args[5], 64)
|
||||||
|
if err != nil {
|
||||||
|
logrus.Error(err)
|
||||||
|
}
|
||||||
|
name := os.Args[1]
|
||||||
|
claimid := os.Args[2]
|
||||||
|
claimAddress := os.Args[3]
|
||||||
|
blockChainName := os.Args[4]
|
||||||
|
logrus.Infof("Supporting %s[%s] with %.2f LBC on chain %s at address %s", name, claimid, amount, blockChainName, claimAddress)
|
||||||
|
hash, err := lbrycrd.SupportClaim(name, claimid, claimAddress, blockChainName, amount)
|
||||||
|
if err != nil {
|
||||||
|
logrus.Error(err)
|
||||||
|
}
|
||||||
|
if hash == nil {
|
||||||
|
logrus.Fatal("Tx not created!")
|
||||||
|
}
|
||||||
|
logrus.Info("Tx: ", hash.String())
|
||||||
|
}
|
2
go.mod
2
go.mod
|
@ -16,7 +16,7 @@ require (
|
||||||
github.com/hashicorp/serf v0.8.2 // indirect
|
github.com/hashicorp/serf v0.8.2 // indirect
|
||||||
github.com/kr/pretty v0.1.0 // indirect
|
github.com/kr/pretty v0.1.0 // indirect
|
||||||
github.com/lbryio/errors.go v0.0.0-20180223142025-ad03d3cc6a5c
|
github.com/lbryio/errors.go v0.0.0-20180223142025-ad03d3cc6a5c
|
||||||
github.com/lbryio/lbry.go v0.0.0-20190826222547-3a3377d0e5ec
|
github.com/lbryio/lbry.go v0.0.0-20190828031244-ecbd404da042
|
||||||
github.com/lbryio/reflector.go v1.0.6-0.20190806185326-2e4f235489f4
|
github.com/lbryio/reflector.go v1.0.6-0.20190806185326-2e4f235489f4
|
||||||
github.com/mitchellh/go-ps v0.0.0-20170309133038-4fdf99ab2936
|
github.com/mitchellh/go-ps v0.0.0-20170309133038-4fdf99ab2936
|
||||||
github.com/opencontainers/go-digest v1.0.0-rc1 // indirect
|
github.com/opencontainers/go-digest v1.0.0-rc1 // indirect
|
||||||
|
|
8
go.sum
8
go.sum
|
@ -177,10 +177,10 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||||
github.com/lbryio/errors.go v0.0.0-20180223142025-ad03d3cc6a5c h1:BhdcWGsuKif/XoSZnqVGNqJ1iEmH0czWR5upj+AuR8M=
|
github.com/lbryio/errors.go v0.0.0-20180223142025-ad03d3cc6a5c h1:BhdcWGsuKif/XoSZnqVGNqJ1iEmH0czWR5upj+AuR8M=
|
||||||
github.com/lbryio/errors.go v0.0.0-20180223142025-ad03d3cc6a5c/go.mod h1:muH7wpUqE8hRA3OrYYosw9+Sl681BF9cwcjzE+OCNK8=
|
github.com/lbryio/errors.go v0.0.0-20180223142025-ad03d3cc6a5c/go.mod h1:muH7wpUqE8hRA3OrYYosw9+Sl681BF9cwcjzE+OCNK8=
|
||||||
github.com/lbryio/lbry.go v0.0.0-20190109223729-30c312501602/go.mod h1:YEuFJD/oHNra6BFy+NfuvS84Wg6RMWJFGtiCCCc6MmQ=
|
github.com/lbryio/lbry.go v0.0.0-20190109223729-30c312501602/go.mod h1:YEuFJD/oHNra6BFy+NfuvS84Wg6RMWJFGtiCCCc6MmQ=
|
||||||
github.com/lbryio/lbry.go v0.0.0-20190826222547-3a3377d0e5ec h1:wusAaT6POFVJwkwNA25I48Nr1DYTcuCAqmmum+WCYP8=
|
github.com/lbryio/lbry.go v0.0.0-20190828031244-ecbd404da042 h1:L1AZ4DOGEKKKqfufdfqUgOnvBwWHwjH6in9FbQCg2+4=
|
||||||
github.com/lbryio/lbry.go v0.0.0-20190826222547-3a3377d0e5ec/go.mod h1:JtyI30bU51rm0LZ/po3mQuzf++14OWb6kR/6mMRAmKU=
|
github.com/lbryio/lbry.go v0.0.0-20190828031244-ecbd404da042/go.mod h1:qR+Ui0hYhemIU4fXqM3d1P9eiaRFlof777VJgV7KJ8w=
|
||||||
github.com/lbryio/lbryschema.go v0.0.0-20190428231007-c54836bca002 h1:urfYK5ElpUrAv90auPLldoVC60LwiGAcY0OE6HJB9KI=
|
github.com/lbryio/lbryschema.go v0.0.0-20190602173230-6d2f69a36f46 h1:LemfR+rMxhf7nnOrzy2HqS7Me7SZ5gEwOcNFzKC8ySQ=
|
||||||
github.com/lbryio/lbryschema.go v0.0.0-20190428231007-c54836bca002/go.mod h1:dAzPCBj3CKKWBGYBZxK6tKBP5SCgY2tqd9SnQd/OyKo=
|
github.com/lbryio/lbryschema.go v0.0.0-20190602173230-6d2f69a36f46/go.mod h1:dAzPCBj3CKKWBGYBZxK6tKBP5SCgY2tqd9SnQd/OyKo=
|
||||||
github.com/lbryio/ozzo-validation v0.0.0-20170323141101-d1008ad1fd04 h1:Nze+C2HbeKvhjI/kVn+9Poj/UuEW5sOQxcsxqO7L3GI=
|
github.com/lbryio/ozzo-validation v0.0.0-20170323141101-d1008ad1fd04 h1:Nze+C2HbeKvhjI/kVn+9Poj/UuEW5sOQxcsxqO7L3GI=
|
||||||
github.com/lbryio/ozzo-validation v0.0.0-20170323141101-d1008ad1fd04/go.mod h1:fbG/dzobG8r95KzMwckXiLMHfFjZaBRQqC9hPs2XAQ4=
|
github.com/lbryio/ozzo-validation v0.0.0-20170323141101-d1008ad1fd04/go.mod h1:fbG/dzobG8r95KzMwckXiLMHfFjZaBRQqC9hPs2XAQ4=
|
||||||
github.com/lbryio/reflector.go v1.0.6-0.20190806185326-2e4f235489f4 h1:SpUbq2YBg3ncetkw8APUgn8nFF8dscKzzhyiWMM7XCc=
|
github.com/lbryio/reflector.go v1.0.6-0.20190806185326-2e4f235489f4 h1:SpUbq2YBg3ncetkw8APUgn8nFF8dscKzzhyiWMM7XCc=
|
||||||
|
|
|
@ -102,7 +102,7 @@ func transferVideos(s *Sync) error {
|
||||||
videoStatus.Status = VideoStatusTranferFailed
|
videoStatus.Status = VideoStatusTranferFailed
|
||||||
videoStatus.IsTransferred = util.PtrToBool(false)
|
videoStatus.IsTransferred = util.PtrToBool(false)
|
||||||
}
|
}
|
||||||
log.Printf("TRANSFER RESULT %+v", *result) //TODO: actually check the results to be sure it worked
|
log.Infof("TRANSFERRED %t", len(result.Outputs) != 0)
|
||||||
statusErr := s.APIConfig.MarkVideoStatus(videoStatus)
|
statusErr := s.APIConfig.MarkVideoStatus(videoStatus)
|
||||||
if statusErr != nil {
|
if statusErr != nil {
|
||||||
return errors.Err(statusErr)
|
return errors.Err(statusErr)
|
||||||
|
@ -134,7 +134,7 @@ func transferChannel(s *Sync) error {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
result, err := s.daemon.ChannelUpdate(s.lbryChannelID, updateOptions)
|
result, err := s.daemon.ChannelUpdate(s.lbryChannelID, updateOptions)
|
||||||
log.Printf("TRANSFER RESULT %+v", *result) //TODO: actually check the results to be sure it worked
|
log.Infof("TRANSFERRED %t", len(result.Outputs) != 0)
|
||||||
|
|
||||||
return errors.Err(err)
|
return errors.Err(err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -173,10 +173,10 @@ func CleanForStartup() error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.Err(err)
|
return errors.Err(err)
|
||||||
}
|
}
|
||||||
const minBlocksForUTXO = 110
|
const minBlocksForUTXO = 200
|
||||||
if height < minBlocksForUTXO {
|
if height < minBlocksForUTXO {
|
||||||
//Start reg test will some credits
|
//Start reg test with some credits
|
||||||
txs, err := lbrycrd.Generate(uint32(110) - uint32(height))
|
txs, err := lbrycrd.Generate(uint32(minBlocksForUTXO) - uint32(height))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.Err(err)
|
return errors.Err(err)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue