Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
新注册的用户请输入邮箱并保存,随后登录邮箱激活账号。后续可直接使用邮箱登录!
Open sidebar
chainweaver
did
did-sync
Commits
0da3351a
Commit
0da3351a
authored
1 year ago
by
taifu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: todo --story=1018431
parent
45c92533
master
develop
v1.2.0
No related merge requests found
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
39 additions
and
39 deletions
+39
-39
README.md
README.md
+5
-14
core/handle/block_handle.go
core/handle/block_handle.go
+2
-0
core/listen/listen.go
core/listen/listen.go
+7
-0
go.mod
go.mod
+8
-7
go.sum
go.sum
+17
-18
No files found.
README.md
View file @
0da3351a
...
...
@@ -4,7 +4,8 @@
## DID合约
主链DID合约在:https://git.code.tencent.com/ChainMaker/opennet/contracts/contracts-go/tree/v0.5.0_qc/standard-did
主链DID合约在:
https://git.code.tencent.com/ChainMaker/opennet/contracts/contracts-go/tree/v1.2.0_qc/standard-did
子链DID同步合约在:https://git.code.tencent.com/ChainMaker/opennet/contracts/contracts-go/tree/v0.5.0_subchain/standard-did
...
...
@@ -13,21 +14,11 @@
## 服务的配置
1.
连接主链A:
```
sdk_config_pk_pubnet.yml
```
[
sdk_config_mainchain.yml
](
etc/sdk_config_mainchain.yml
)
2.
连接子链B:
[
sdk_config_subchain.yml
](
etc/sdk_config_subchain.yml
)
```
sdk_config_pk_subnet.yml
```
3.
配置同步服务:
```
config.yaml
```
3.
配置同步服务:
[
config.yaml
](
etc/config.yaml
)
其中主要需要修改的是:
主链的合约名,监听的起始高度。
...
...
This diff is collapsed.
Click to expand it.
core/handle/block_handle.go
View file @
0da3351a
...
...
@@ -48,6 +48,7 @@ func (e *BlockHandler) loop(ctx context.Context, eventChan chan *com.BlockEvent)
for
{
select
{
// TODO: chain为block 而非blockHeight
case
height
,
ok
:=
<-
e
.
EventHeight
:
if
!
ok
{
global
.
LOG
.
Info
(
"chan is close!"
)
...
...
@@ -91,6 +92,7 @@ func (e *BlockHandler) getValidEvents(block *common.BlockInfo) ([][]*common.Cont
}
for
_
,
i
:=
range
txIndexBatch
{
// TODO: 判断事件是否为当前合约
result_event
=
append
(
result_event
,
events
[
i
])
txIndexBatch
=
append
(
txIndexBatch
,
shrinkDag
(
i
,
dagRemain
,
reverseDagRemain
)
...
)
}
...
...
This diff is collapsed.
Click to expand it.
core/listen/listen.go
View file @
0da3351a
...
...
@@ -39,6 +39,13 @@ func NewEventListener(startBlock, endBlock int64,
// Start start SubscribeContractEvent
func
(
e
*
EventListener
)
Start
(
ctx
context
.
Context
)
error
{
//service start, subscribe contract event
// TODO:1、合约记录区块高度
//2、插入状态数据时合约需要根据区块高度去重
//3、更新同步合约事件插入逻辑。
// TODO: 改成订阅区块的方式
// 1、订阅区块
// 2、轮询:解析交易的事件中的合约名称是否一致,使用协程加速
// 3、构建事件
eventChan
,
err
:=
initialize
.
MainSdkClient
.
SdkClient
.
SubscribeContractEvent
(
ctx
,
e
.
LastBlockHeight
,
e
.
endBlock
,
e
.
contractName
,
e
.
topic
)
if
err
!=
nil
{
global
.
LOG
.
Error
(
"start SubscribeContractEvent err: "
+
err
.
Error
()
+
"sleep 30s..."
)
...
...
This diff is collapsed.
Click to expand it.
go.mod
View file @
0da3351a
...
...
@@ -3,28 +3,29 @@ module chainweaver.org.cn/chainweaver/did/did-sync
go 1.18
require (
chainmaker.org/chainmaker/pb-go/v2
v2.3.
3-0.20230324030146-d53d46c7ee9f
chainmaker.org/chainmaker/sdk-go/v2
v2.3.
3-0.20230423094233-ca8bdae0463f
chainmaker.org/chainmaker/pb-go/v2
v2.3.
5
chainmaker.org/chainmaker/sdk-go/v2
v2.3.
5
github.com/fsnotify/fsnotify
v1.5.1
github.com/go-redis/redis/v8
v8.11.4
github.com/spf13/viper
v1.9.0
github.com/stretchr/testify
v1.8.2
go.uber.org/zap
v1.17.0
gopkg.in/natefinch/lumberjack.v2
v2.0.0
gorm.io/driver/sqlite
v1.5.4
gorm.io/gorm
v1.25.2-0.20230530020048-26663ab9bf55
)
require (
chainmaker.org/chainmaker/common/v2
v2.3.
1
// indirect
chainmaker.org/chainmaker/protocol/v2
v2.3.
2
// indirect
chainmaker.org/chainmaker/utils/v2
v2.3.
2
// indirect
chainmaker.org/chainmaker/common/v2
v2.3.
4
// indirect
chainmaker.org/chainmaker/protocol/v2
v2.3.
5
// indirect
chainmaker.org/chainmaker/utils/v2
v2.3.
5
// indirect
github.com/Rican7/retry
v0.1.0 // indirect
github.com/StackExchange/wmi
v0.0.0-20190523213315-cbe66965904d // indirect
github.com/btcsuite/btcd
v0.21.0-beta // indirect
github.com/cznic/mathutil
v0.0.0-20181122101859-297441e03548 // indirect
github.com/dgryski/go-metro
v0.0.0-20200812162917-85c65e2d0165 // indirect
github.com/go-ole/go-ole
v1.2.4 // indirect
github.com/go-sql-driver/mysql
v1.
5
.0 // indirect
github.com/go-sql-driver/mysql
v1.
7
.0 // indirect
github.com/gogo/protobuf
v1.3.2 // indirect
github.com/google/uuid
v1.3.0 // indirect
github.com/grpc-ecosystem/grpc-gateway
v1.16.0 // indirect
...
...
@@ -84,5 +85,5 @@ require (
gopkg.in/ini.v1
v1.63.2 // indirect
gopkg.in/yaml.v2
v2.4.0 // indirect
gopkg.in/yaml.v3
v3.0.1 // indirect
gorm.io/driver/sql
ite
v1.
5.4
// indirect
gorm.io/driver/
my
sql
v1.
4.7
// indirect
)
This diff is collapsed.
Click to expand it.
go.sum
View file @
0da3351a
chainmaker.org/chainmaker/common/v2
v2.3.1 h1:
0CVVamBNHrp0mOOOXJraIfQTquosfwV+yhMRo1kf6HA=
chainmaker.org/chainmaker/common/v2
v2.3.1/go.mod h1:
LV6bEVvqWBa6NY/QyNY9CDIdah44Hpd/aEqWkG5rXws=
chainmaker.org/chainmaker/pb-go/v2
v2.3.2/go.mod h1:
MB2+suualBWOKvd6FRQD/XcZzlav7APiSa7uzdDLkY8=
chainmaker.org/chainmaker/pb-go/v2
v2.3.3-0.20230324030146-d53d46c7ee9f h1:
RIjYu787h/2aO8XUbtMOnNRxs82KW8863dG/eCCZVFY=
chainmaker.org/chainmaker/pb-go/v2
v2.3.3-0.20230324030146-d53d46c7ee9f/go.mod h1:
MB2+suualBWOKvd6FRQD/XcZzlav7APiSa7uzdDLkY8=
chainmaker.org/chainmaker/protocol/v2
v2.3.2 h1:
/WXi4LRKrjOaxd4NoFVGftKXrX84zNYbwyYPp0wxAWo=
chainmaker.org/chainmaker/protocol/v2
v2.3.2/go.mod h1:
PGP3kYeurnv5lmoYuXr2jvrGjR2Sp3GGocpTj2i5SJM=
chainmaker.org/chainmaker/sdk-go/v2
v2.3.3-0.20230423094233-ca8bdae0463f h1:
7/jVLRFzO5KK/+yLmzFzp2IPs2xyJtzMLhlRj02Geko=
chainmaker.org/chainmaker/sdk-go/v2
v2.3.3-0.20230423094233-ca8bdae0463f/go.mod h1:
NflER2E1VeZEqbn2DPDD5SO6VrjB5Ei7D5wxtx7PFs0=
chainmaker.org/chainmaker/utils/v2
v2.3.2 h1:
k2nR23f2L03KXCuNclcWCMGhnmVPvw5mep9iOyGXQiA=
chainmaker.org/chainmaker/utils/v2
v2.3.2/go.mod h1:
UcFHxei/7e3K67TxIAuFExWdTqfFniKGKt0Vlu+RxSo=
chainmaker.org/chainmaker/common/v2
v2.3.4 h1:
8p1XLK4MvmQLV5eSbVEuGvMzuz7kAzef2VgfeuAtCYs=
chainmaker.org/chainmaker/common/v2
v2.3.4/go.mod h1:
LV6bEVvqWBa6NY/QyNY9CDIdah44Hpd/aEqWkG5rXws=
chainmaker.org/chainmaker/pb-go/v2
v2.3.5 h1:
2PE8XJNFyBw++qUD7dIv8mgLIlHtoybz86VMOss1P8A=
chainmaker.org/chainmaker/pb-go/v2
v2.3.5/go.mod h1:
GXGRIYS+d6bcgmmqKrW7nNBh3mIHE1EwTLv96811OtE=
chainmaker.org/chainmaker/protocol/v2
v2.3.5 h1:
OUZp596mr6uRDS0exO6D/M1WUwNdkgrrBxCKmq5NMuI=
chainmaker.org/chainmaker/protocol/v2
v2.3.5/go.mod h1:
UDPjfqLH89QY8FbWxfEqNcWS2W5pk/z0pU7zo1FAzyI=
chainmaker.org/chainmaker/sdk-go/v2
v2.3.5 h1:
eAhInuXA981xVqXY7hDD4jw3E5bRTtOT5eNxVBx3FYo=
chainmaker.org/chainmaker/sdk-go/v2
v2.3.5/go.mod h1:
Bzdi+8xz4qxLr5RT9AZmFJ/NzpiRVeJHsEGKaHSDelg=
chainmaker.org/chainmaker/utils/v2
v2.3.5 h1:
m8jZPsuQh8VhZq3R82SvCkWVzm8Dok3/7L7Bz2B/OfI=
chainmaker.org/chainmaker/utils/v2
v2.3.5/go.mod h1:
LlCRtHxbWYDJGFpp7ImFfQuptAl65a8Dtt/SA3OZbE8=
cloud.google.com/go
v0.26.0/go.mod h1:
aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go
v0.34.0/go.mod h1:
aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go
v0.38.0/go.mod h1:
990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
...
...
@@ -302,8 +301,9 @@ github.com/go-redis/redis/v8 v8.11.4 h1:kHoYkfZP6+pe04aFTnhDH6GDROa5yJdHJVNxV3F4
github.com/go-redis/redis/v8
v8.11.4/go.mod h1:
2Z2wHZXdQpCDXEGzqMockDpNyYvi2l4Pxt6RJr792+w=
github.com/go-sql-driver/mysql
v1.4.0/go.mod h1:
zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
github.com/go-sql-driver/mysql
v1.4.1/go.mod h1:
zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
github.com/go-sql-driver/mysql
v1.5.0 h1:
ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs=
github.com/go-sql-driver/mysql
v1.5.0/go.mod h1:
DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/go-sql-driver/mysql
v1.7.0 h1:
ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc=
github.com/go-sql-driver/mysql
v1.7.0/go.mod h1:
OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
github.com/go-stack/stack
v1.8.0/go.mod h1:
v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/go-task/slim-sprig
v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:
fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
github.com/goccy/go-graphviz
v0.0.5/go.mod h1:
wXVsXxmyMQU6TN3zGRttjNn3h+iCAS7xQFC6TlNvLhk=
...
...
@@ -601,7 +601,6 @@ github.com/mattn/go-runewidth v0.0.7 h1:Ei8KR0497xHyKJPAv59M1dkC+rOZCMBJ+t3fZ+tw
github.com/mattn/go-runewidth
v0.0.7/go.mod h1:
H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/mattn/go-shellwords
v1.0.3/go.mod h1:
3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o=
github.com/mattn/go-sqlite3
v1.14.6/go.mod h1:
NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
github.com/mattn/go-sqlite3
v1.14.12/go.mod h1:
NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
github.com/mattn/go-sqlite3
v2.0.1+incompatible h1:
xQ15muvnzGBHpIpdrNi1DA5x0+TcBZzsIDwmw9uTHzw=
github.com/mattn/go-sqlite3
v2.0.1+incompatible/go.mod h1:
FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
github.com/matttproud/golang_protobuf_extensions
v1.0.1 h1:
4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
...
...
@@ -850,6 +849,7 @@ github.com/shirou/gopsutil v2.19.10+incompatible h1:lA4Pi29JEVIQIgATSeftHSY0rMGI
github.com/shirou/gopsutil
v2.19.10+incompatible/go.mod h1:
5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
github.com/shirou/w32
v0.0.0-20160930032740-bb4de0191aa4 h1:
udFKJ0aHUL60LboW/A+DfgoHVedieIzIXE8uylPue0U=
github.com/shirou/w32
v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:
qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc=
github.com/shopspring/decimal
v1.3.1/go.mod h1:
DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
github.com/shurcooL/httpfs
v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:
ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg=
github.com/shurcooL/sanitized_anchor_name
v1.0.0/go.mod h1:
1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
github.com/shurcooL/vfsgen
v0.0.0-20181020040650-a97a25d856ca/go.mod h1:
TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw=
...
...
@@ -1566,13 +1566,12 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C
gopkg.in/yaml.v3
v3.0.0-20210107192922-496545a6307b/go.mod h1:
K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3
v3.0.1 h1:
fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3
v3.0.1/go.mod h1:
K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gorm.io/driver/sql
ite
v1.
3.2
h1:
nWTy4cE52K6nnMhv23wLmur9Y3qWbZvOBz+V4PrGAxg
=
gorm.io/driver/sql
ite
v1.
3.2
/go.mod h1:
B+8GyC9K7VgzJAcrcXMRPdnMcck+8FgJynEehEPM16U
=
gorm.io/driver/
my
sql
v1.
4.7
h1:
rY46lkCspzGHn7+IYsNpSfEv9tA+SU4SkkB+GFX125Y
=
gorm.io/driver/
my
sql
v1.
4.7
/go.mod h1:
SxzItlnT1cb6e1e4ZRpgJN2VYtcqJgqnHxWr4wsP8oc
=
gorm.io/driver/sqlite
v1.5.4 h1:
IqXwXi8M/ZlPzH/947tn5uik3aYQslP9BVveoax0nV0=
gorm.io/driver/sqlite
v1.5.4/go.mod h1:
qxAuCol+2r6PannQDpOP1FP6ag3mKi4esLnB/jHed+4=
gorm.io/gorm
v1.23.4/go.mod h1:
l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk=
gorm.io/gorm
v1.25.1 h1:
nsSALe5Pr+cM3V1qwwQ7rOkw+6UeLrX5O4v3llhHa64=
gorm.io/gorm
v1.25.1/go.mod h1:
L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k=
gorm.io/gorm
v1.23.8/go.mod h1:
l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk=
gorm.io/gorm
v1.24.6/go.mod h1:
L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k=
gorm.io/gorm
v1.25.2-0.20230530020048-26663ab9bf55 h1:
sC1Xj4TYrLqg1n3AN10w871An7wJM0gzgcm8jkIkECQ=
gorm.io/gorm
v1.25.2-0.20230530020048-26663ab9bf55/go.mod h1:
L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k=
honnef.co/go/tools
v0.0.0-20180728063816-88497007e858/go.mod h1:
rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment